C++ STL Vector如何存放类的对象?

..................classA{public:inta;intb;stringstr;A(intaa,intbb,stringcc):a(aa),b(b... ..................
class A{
public:
int a;

int b;

string str;

A(int aa,int bb,string cc):a(aa),b(bb),c(cc){}

};

int main(){
.........................
vector<A*> vec;
vec.push_back(new A(123,111,"abcd"))
.............................
return 0;
}

这么做出错~求大神指点
展开
 我来答
df601562566
推荐于2017-09-10 · TA获得超过502个赞
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:338万
展开全部
#include <vector>
#include <string>
using namespace std;
class A{
public:
    int a; 

    int b; 

    string c;

    A(int aa,int bb,string cc):a(aa),b(bb),c(cc){}
};

int main(){
vector<A*> vec;
vec.push_back(new A(123,111,"abcd"));
return 0;
}

测试没有问题,主要string str有问题,还有就是中文字符的分号之类的小错误,还有就是忘了写分号的小错误。

帐号已注销
2013-10-14 · TA获得超过301个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:206万
展开全部
#include<vector>和#include <string>记得加上
A(int aa,int bb,string cc):a(aa),b(bb),str(cc){} //c改成str

vector<A*> vec; //这存的是类对象指针

vector<A> vec; //这才是存类对象
vec.push_back(A(123,111,"abcd")); //添加对象

满意请采纳!
追问
我改了以下类名 就可以使用了~可能是代码冲突了……
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xly931
2013-10-14 · TA获得超过264个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:133万
展开全部
不是vector用法错了,是你其他的代码有问题;从你这半截代码,至少要确定以下几个问题:
1.有没有包含<vector>,<string>头文件。
2.有没有using namespace std;
3.你的class A写错了,成员名str,构造函数用的c(cc)。
4.检查你的标点符号是不是中文输入法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z490721123
2013-10-14 · 超过25用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:67.9万
展开全部
A(int aa,int bb,string cc):a(aa),b(bb),c(cc){}

应该是
A(int aa,int bb,string cc):a(aa),b(bb),str(cc){}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式