Я читал как это можно заставить работать используя прямые объявления.
class A
{
public:
B *objB;
void foo(){}
}
class B
{
public:
A *objA;
void foo(){}
}
Просто хотел подтвердить, возможна ли такая конструкция?
class A
{
public:
B objB;
void foo(){}
}
class B
{
public:
A objA;
void foo(){}
}
PS: Если кто-нибудь может также объяснить, почему/почему это возможно логически в терминах классов, а не только в терминах языка, например, приведя какой-нибудь пример. Что именно это означает в терминах классов?