我有 Person 类并创建了一个 Person 类型 vector 。我想知道当我调用带有 vector 索引的 Person 类型函数时会发生什么。这是将对象存储在数组中还是什么?请简要说明,非常感谢。
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class Person
{
int age;
string name;
public:
Person(){};
void getdata()
{
cout << "Enter your name: ";
getline(cin >> ws, name);
cout << "Enter your age: ";
cin >> age;
}
void showdata()
{
cout << "\nHello " << name << " your age is " << age;
}
};
void main()
{
vector<Person> myVector(3);
unsigned int i = 0;
for (i; i < 3; i++)
myVector[i].getdata();//Does this create & save an objects in that location Please explain briefly, Thanks
for (i=0; i < 3; i++) //What if I do this like
/*for (i=0; i < 3; i++)
{ Person p;
myVector.puskback(p); }
or what if I want a new data then what??*/
myVector[i].showdata();
system("pause");
}
最佳答案
不,它不创建对象。所有对象都是在创建 vector 时创建的。它的作用是在已构造的对象上调用 getdata()。 您可以按照建议的方式进行回推,在这种情况下,您希望最初创建一个空 vector (现在您正在创建一个包含 3 个元素的 vector )
关于c++ - 当我在 C++ 中将 vector 与类一起使用时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148500/