Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用vector在不同文件中将一个类的对象数组定义为另一个类的对象数组_C++_Vector_Setter_Getter - Fatal编程技术网

C++ 如何使用vector在不同文件中将一个类的对象数组定义为另一个类的对象数组

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;

我想将对象数组(在data.h文件中)用于我的user.h文件。我尝试了以下方法,但没有成功。我需要你们的帮助。我的脚本出了什么问题。请纠正我

//data.h文件

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"