65,186
社区成员




#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
class A //定义了一个非常简单的类
{
private:
int c;
public:
A()
{
cout<<"class A constructed!"<<endl;
c=0;
}
void getA()
{
int a;
cout<<"请输入A的值:"<<endl;
cin>>a;
c=a;
}
int putA()
{
cout<<"A的值为:"<<c<<endl;
return c; // 不论返回啥,你这边需要一个返回值.
}
};
int main()
{
vector <A> Array;
//Array->getA(); 如果Array是指针,那么用->来获取方法和属性,如果Array是对象,那么使用.来获取。
//Array->putA(); Array是一个vector, 里面尚无对象.你的getA()和putA()是A这个类的实例才具有的方法.
//所以你调用 getA()和putA()必须用A的对象来调用.
//那么你应该做的是,先在Array里面添加A的实例.
A a;
Array.push_back(a);
//然后取出a值来初始化.
Array.at(0).getA();//at(0)意思是取出第一个元素,也就是a. 然后调用a.getA();
Array.at(0).putA();// 同理
return 0;
}
A a1;//定义一个A的对象
array.push_back(a1);//把a1加入到vector中
array[0].getA();//通过下标操作获得存储在位置0的对象,然后调用get函数,迭代器也可以