answersLogoWhite

0

// Inventory Referencer

// Demonstrates returning a reference

#include

<iostream>

#include

<string>

#include

<vector>

using

namespace std;

//returns a reference to a string

string

& refToElement(vector<string>& vec, int i);

int

main()

{

vector<string> inventory;

inventory.push_back(

"sword");

inventory.push_back(

"armor");

inventory.push_back(

"shield");

//displays string that the returned reference refers to

cout <<

"Sending the returned reference to cout:\n";

cout << refToElement(inventory, 0) <<

"\n\n";

//assigns one reference to another - inexpensive assignment

cout <<

"Assigning the returned reference to another reference.\n";

string& rStr = refToElement(inventory, 1);

cout <<

"Sending the new reference to cout:\n";

cout << rStr <<

"\n\n";

//copies a string object - expensive assignment

cout <<

"Assigning the returned reference to a string object.\n";

string str = refToElement(inventory, 2);

cout <<

"Sending the new string object to cout:\n";

cout << str <<

"\n\n";

//altering the string object through a returned reference

cout <<

"Altering an object through a returned reference.\n";

rStr =

"Healing Potion";

cout <<

"Sending the altered object to cout:\n";

cout << inventory[1] << endl;

return 0;

}

//returns a reference to a string

string

& refToElement(vector<string>& vec, int i)

{

return vec[i];

}

User Avatar

Wiki User

13y ago

What else can I help you with?