Я хочу использовать массив объектов (в файле data.h) в файле user.h .i пробовал эту вещь, как показано ниже, но мой попробуйте не удается. Мне нужна помощь от вас, ребята. Что-то не так в моем скрипте. пожалуйста, поправьте меняКак использовать вектор для определения массива объектов одного класса в другой класс в другом файле
// 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";
}
};
// пользователь. cpp file
user::user()
{ user object;
object.add_element(xyz);
object.get_element();
}
Там очень много плохого кода: в 'add_element' вы пытаетесь добавить' int' в '' вектор , который не будет работать , 'data' имеет частный конструктор, поэтому его нельзя создать в первую очередь. 'setid' присваивает' id' себе (вы, возможно, означали 'this-> id = id'),' name' имеет ту же проблему. 'data :: data()' использует переменную с именем 'hello', которая не определена. etc etc – Sean
МЫ хотим услышать от вас, что случилось? (Не компилируется? Не работает? Не делает того, что ожидается?) – zoska