C++ 如何使用vector在不同文件中将一个类的对象数组定义为另一个类的对象数组
我想将对象数组(在data.h文件中)用于我的user.h文件。我尝试了以下方法,但没有成功。我需要你们的帮助。我的脚本出了什么问题。请纠正我 //data.h文件C++ 如何使用vector在不同文件中将一个类的对象数组定义为另一个类的对象数组,c++,vector,setter,getter,C++,Vector,Setter,Getter,我想将对象数组(在data.h文件中)用于我的user.h文件。我尝试了以下方法,但没有成功。我需要你们的帮助。我的脚本出了什么问题。请纠正我 //data.h文件 class data { private: int id; char name; public: data(); int getid() { return id;
class data
{
private:
int id;
char name;
public:
data();
int getid()
{
return id;
}
void setid(int id)
{
id = id;
}
char getname()
{
return name;
}
void setname(char name)
{
name=name;
}
};
//data.cpp文件
data::data(){
int xyz;
char pqr;
data firstobject;
firstobject.setid(10);
xyz=firstobject.getid();
firstobject.setname(hello);
pqr=firstname.getname();
return 0;
}
//user.h文件
class user
{
private:
vector<data> data11;
public:
user();
void add_element(int a)
{
data11.push_back(a);
}
void get_element()
{
for(int x=0; x<data11size(); x++)
{
cout<<data11[x]<<" \n";
};
cout<<" \n";
}
};
这是您的
构造函数
,定义为私有
?如果没有任何具体原因,请将其移动到公共位置:
data();
与user()相同。
编辑:还有很多其他的事情。。解释您正面临的问题这些是完整的文件吗?你当然需要
#include "data.h"
在user.h中,您的代码有很多错误:在
add_元素
中,您试图向向量
添加一个int
,但这不起作用<代码>数据有一个私有构造函数,因此不能首先创建setid
正在将id
分配给iteself(您可能的意思是this->id=id
),name
也有同样的问题data::data()
使用一个名为hello
的未定义变量。我们想听你的,怎么了?(不编译?不运行?不执行预期的操作?)是的,这是我的错误,我将其公开。你能帮我解决我的问题吗?是的,我包含了数据.h文件。我的文件无法编译。还有一些问题:-构造函数从不返回值,所以请删除该返回值0;-无法在构造函数中分配其他数据对象。这将导致无限递归(我甚至不知道它是否会编译)
#include "data.h"