Специфический случай объявления классов

  • Автор темы Автор темы WishMaster
  • Дата начала Дата начала
W

WishMaster

Есть два класса - А и Б. Каждому экземпляру класса А отвечает конкретный экземпляр класса Б и наоборот. Для обеспечения такого однозначного соответствия между классами удобно было бы включить в качестве элемента класса А ссылку на экземпляр класса Б и наоборот. Вопрос в том, как это правильно объявить? Поскольку если сначала объявлять класс А, например, то компилятор не узнает ссылку на класс Б, которая является его элементом. Как быть?
Заранее благодарен за советы.
 
Каждому экземпляру класса А отвечает конкретный экземпляр класса Б и наоборот.

Не совсем понятно что такое отвечает; А наследует B, а В наследует А?:unsure:
 
Код:
#include <iostream>

class b;

class a
{
int Test;

b* pb;
};

class b
{
int Tets;

a* pa;
};


int main()
{
std::cout << "Hello world!" << std::endl;
return 0;
}
 
Если я правильно понял вопрос, то так:

Код:
class B;
class A
{
public:
A( B* pB ) : m_pB( pB ) {}
private:
B* m_pB;
};

class B
{
public:
B( A* pA ) : m_pA( pA ) {}
private:
A* m_pA;
};
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!