Help me out. I know what I need to do but I am not a C++ developer.
I need the GetItem
to return a reference so that the SetName
function value takes.
I think I need to add &
and *
somewhere.
This is part of a much larger file and this silly thing is tripping me up:
#include <iostream>
#include <vector>
using namespace std;
class Item
{
public:
Item(string Code, string Name)
{
_code = Code;
_name = Name;
}
void SetName(string Name) { _name = Name; }
string GetCode() { return _code; }
string GetName() { return _name; }
private:
string _code;
string _name;
};
class SomeClass
{
public:
SomeClass()
{
}
void AddItem(string Code, string Name)
{
Item item(Code, Name);
_items.push_back(item);
}
Item GetItem(string Code)
{
for (int i = 0; i < _items.size(); i++)
{
if (_items[i].GetCode() == Code)
{
return _items[i];
}
}
}
private:
vector<Item> _items;
};
int main()
{
SomeClass someClass;
someClass.AddItem("001","Name001");
cout << someClass.GetItem("001").GetName() << endl;
someClass.GetItem("001").SetName("Name001aaaaa");
cout << someClass.GetItem("001").GetName() << endl;
return 0;
}