C++ 如何获得向量中的对象年龄?

C++ 如何获得向量中的对象年龄?,c++,object,vector,C++,Object,Vector,我有一个存储Student对象的向量 std::vector<Student> vec; 将对象放置到向量中,如下所示 Student a; a.addStudent(Student("john" , 24)); a.addStudent(Student("Sam" , 23)); a.addStudent(Student("Bob" , 28)); 我想得到向量中的第二个物体,我想得到它的年龄。我已经有了一个getAge()方法。我对C++非常陌生,所以我对这个概念感到困惑。如

我有一个存储
Student
对象的向量

std::vector<Student> vec;
将对象放置到向量中,如下所示

Student a;
a.addStudent(Student("john" , 24));
a.addStudent(Student("Sam" , 23));
a.addStudent(Student("Bob" , 28));

我想得到向量中的第二个物体,我想得到它的年龄。我已经有了一个
getAge()
方法。我对C++非常陌生,所以我对这个概念感到困惑。如何返回
向量中的
对象,然后检查其
年龄
是什么?

简短回答:这与从“学生”对象中读取“年龄”完全相同

较长版本:
a.addStudent(Student(“john”,24))
实际上调用了“Student”类的构造函数,您添加的是Student类的对象,而不是年龄和姓名。所以,当你从这个存储这个对象的向量中检索东西时,你会得到一个“学生”类的对象。要从该对象中读取“age”,可以使用类方法,或者如果该对象具有age的公共数据成员,则可以使用
object\u name.age
(即vec[1]。在您的情况下,age是因为您需要列表中的第二项)

如果您有一个直接返回年龄的方法,比如您提到的“getAge”,那么它很可能也会这样做


简短回答:这与你从“学生”的对象中读“年龄”完全相同

较长版本:
a.addStudent(Student(“john”,24))
实际上调用了“Student”类的构造函数,您添加的是Student类的对象,而不是年龄和姓名。所以,当你从这个存储这个对象的向量中检索东西时,你会得到一个“学生”类的对象。要从该对象中读取“age”,可以使用类方法,或者如果该对象具有age的公共数据成员,则可以使用
object\u name.age
(即vec[1]。在您的情况下,age是因为您需要列表中的第二项)

如果您有一个直接返回年龄的方法,比如您提到的“getAge”,那么它很可能也会这样做

我想得到向量中的第二个物体,我想得到它的年龄。。。如何返回向量中的对象,然后检查其年龄

与普通C样式数组一样,定义了0索引数组,该数组返回对给定索引处元素的引用,例如:

int age = vec[1].getAge();
我想得到向量中的第二个物体,我想得到它的年龄。。。如何返回向量中的对象,然后检查其年龄

与普通C样式数组一样,定义了0索引数组,该数组返回对给定索引处元素的引用,例如:

int age = vec[1].getAge();

什么是classA?向量可以像数组一样索引。就像数组一样,索引是从零开始的,这意味着第二个元素的索引将是
1
。抱歉,忘记了,这是一个已经纠正的输入错误。如果我将变量分配给vec[i]?Is
vec[0]。getAge()
不是你要找的?什么是classA?向量可以像数组一样索引。就像数组一样,索引是从零开始的,这意味着第二个元素的索引将是
1
。抱歉,忘记了,这是一个已经更正的输入错误。如果我将变量分配给vec[i],它的类型会是什么?是
vec[0]。getAge()
不是您要找的吗?