假设我存储了一个对象矢量。该对象具有一个属性,例如int age,它是私有的,我们需要通过getAge()来访问它。
让我们称对象为“人”
我将对象“people”存储在矢量中...... 洙...
vector<people> vectorOfPeople
我的问题是......
是否可以通过矢量vectorOfPeople直接访问'age'?
也许像vectorOfPeople[0].getAge()
之类的东西......(我知道这不起作用)。
谢谢!
答案 0 :(得分:5)
做你说的应该有用:
// Make a vector of people
vector<people> pVec;
// Stick a people (person?) in it
pVec.push_back(people(someAge, someName)); // Or whatever constructor you have
// Show the age
cout << pVec[0].getAge(); // This should print out the age assigned in the c'tor
在这种情况下,您选择的名称有点不直观,但除此之外您应该没有问题。
答案 1 :(得分:1)
std :: vector有运算符:
reference operator[] ( size_type n );
const_reference operator[] ( size_type n ) const;
它们,
返回对向量容器中位置n处元素的引用。
因此,vectorOfPeople[0]
将返回对向量容器中0
位置的元素的引用,然后将在该引用对象上调用getAge()
。
没有什么不同,
people obj;
obj.getAge();