У меня проблема в том, что как только я изменяю переменную, она кажется неизменной, когда на нее ссылаются позже в коде.
class foo
{
private:
string name;
public:
foo(string _name)
:name(_name)
{}
void info()
{ cout<<name; }
void newName(string new_name)
{ name = new_name; }
};
class bar
{
private:
string _name;
vector<foo> _content;
public:
foo at(int i)
{ return _content.at(i); }
void push_back(foo newFoo)
{ _content.push_back(newFoo); }
};
int main()
{
foo test("test");
bar kick;
kick.push_back(test);
kick.at(0).newName("nice");
kick.at(0).info();
return 0;
}
Я бы хотел, чтобы программа вернула "nice", но она возвращает " тестовое задание". Я предполагаю, что это имеет какое-то отношение к сфере, но я не знаю. Как бы я написал что-нибудь, что может обойти эту проблему?