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;
}
这么做出错~求大神指点 展开
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;
}
这么做出错~求大神指点 展开
4个回答
展开全部
#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有问题,还有就是中文字符的分号之类的小错误,还有就是忘了写分号的小错误。
展开全部
#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")); //添加对象
满意请采纳!
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")); //添加对象
满意请采纳!
追问
我改了以下类名 就可以使用了~可能是代码冲突了……
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是vector用法错了,是你其他的代码有问题;从你这半截代码,至少要确定以下几个问题:
1.有没有包含<vector>,<string>头文件。
2.有没有using namespace std;
3.你的class A写错了,成员名str,构造函数用的c(cc)。
4.检查你的标点符号是不是中文输入法。
1.有没有包含<vector>,<string>头文件。
2.有没有using namespace std;
3.你的class A写错了,成员名str,构造函数用的c(cc)。
4.检查你的标点符号是不是中文输入法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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){}
吧
应该是
A(int aa,int bb,string cc):a(aa),b(bb),str(cc){}
吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询