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

  • Автор темы Автор темы 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;
};
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab