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

2024-12-26 15:49:04
推荐回答(4个)
回答1:

#include 
#include 
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 vec;
vec.push_back(new A(123,111,"abcd"));
return 0;
}

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

回答2:

#include和#include 记得加上
A(int aa,int bb,string cc):a(aa),b(bb),str(cc){} //c改成str

vector vec; //这存的是类对象指针

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

满意请采纳!

回答3:

不是vector用法错了,是你其他的代码有问题;从你这半截代码,至少要确定以下几个问题:
1.有没有包含,头文件。
2.有没有using namespace std;
3.你的class A写错了,成员名str,构造函数用的c(cc)。
4.检查你的标点符号是不是中文输入法。

回答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){}