У меня проблемы с пониманием векторов указателей на объекты классов, я пробовал тестовый код, чтобы попытаться понять его, но всякий раз, когда я ввожу имя и пытаюсь его вывести, он выводит числа вместо фактического имени, которое япоступил.Я надеюсь, что кто-то может объяснить это мне, поскольку я новичок в этих понятиях.
Кроме того, Pets[0]->print();
вообще не печатает, пока:
cout << "in main: " << Pets[0] << endl;
печатает.
class Pet
{
public:
string name;
Pet(const string&);
string getName() const
{
return name;
}
void setName(const string& Name)
{
name = Name;
}
void print()const;
}
int main()
{
vector<Pet*> Pets;
string names;
int done = NULL;
do
{
{
cout << "Name: ";
cin >> names;
Pets.push_back(new Pet(names));
cin.ignore();
}
cout << "Add another ?" << endl;
cin >> done;
} while (done != 0);
Pets[0]->print();
cout << "in main: " << Pets[0] << endl;
system("pause");
}
Pet::Pet(const string& Name)
{
}
void Pet::print()const
{
cout << "Name: " << name;
}