Я хотел бы использовать два класса A
и B
для выполнения различных задач. Но я хочу обменять некоторые данные, которые должны быть одинаковыми в обоих случаях, поэтому я бы хотел использовать A = B
для ex.Оператор перегрузки = для обмена данными между классами
Итак, как использовать это, избегая двухстороннего включения в заголовочные файлы?
Пример: в class_a.h:
#include class_b.h
class A {
private:
int i;
public:
A& operator=(B& const b);
}
class_b.h:
#include class_a.h // won't work here ...
class B {
private:
unsigned long n;
public:
B& operator=(A& const a);
}
Почему они должны быть в разных файлах заголовков? – mkb