Рассмотрим случай, когда объект класса B хочет отправить свой идентификатор объекту A. Таким образом, идентификатор A может быть установлен в ID B. Это можно рассматривать как размещение заказа. Затем A хочет сообщить B о состоянии своего заказа (например, отправлен заказ). Таким образом, B должен иметь атрибут, который должен быть установлен A. В приведенном ниже коде у меня есть первая часть, которая позволяет B разместить заказ в A, но отсутствует вторая часть, которая позволяет A обновлять B. Мой вопрос: «Как это можно сделать?»C++: Взаимосвязь между двумя классами
class A
{
private:
string ID;
public:
A()
{
ID = "empty";
}
void set_ID(string id)
{
ID = id;
}
};
class B
{
private:
string B_ID;
public:
B(string id)
{
B_ID = id;
}
void put_request(A& a)
{
a.set_ID(B_ID);
}
};
int main()
{
A a;
B b("my ID");
b.put_request(a);
}
Вы в конечном итоге возникают проблемы с отсутствующим вперед декларации 'класса B;'? В противном случае я не могу сказать, о чем вы спрашиваете. Вы предоставляете другую функцию в 'A', которая принимает параметр« B & »как то же, что и вы, с' put_request() 'в' B'. –
Как идея, попробуйте это: сначала объявите оба класса, затем в каждом классе определите переменную другого класса и взаимодействуйте с этими переменными. – moldovean
'A' и' B' указывают на тот же идентификатор в конце концов. Вы можете захотеть иметь 2 идентификатора переменных в обоих этих классах для дифференциации. – iammilind