访问对象C ++的向量

时间:2011-08-18 09:26:07

标签: c++ vector

假设我存储了一个对象矢量。该对象具有一个属性,例如int age,它是私有的,我们需要通过getAge()来访问它。

让我们称对象为“人”

我将对象“people”存储在矢量中...... 洙...

 vector<people> vectorOfPeople

我的问题是...... 是否可以通过矢量vectorOfPeople直接访问'age'? 也许像vectorOfPeople[0].getAge()之类的东西......(我知道这不起作用)。

谢谢!

2 个答案:

答案 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();