пожалуйста помогите разобраться в следующей ситуации (сразу хочу предупредить, что пример урезал и постарался оставить только то, что имеет значение): есть два класса, пусть в каждом из них имеется по одному члену - указателю на объект "противоположного" класса (то есть другого класса): class A { B* b; }; class B { A* a; }; чтобы не было недоразумений, необходимо перед определением класса A поместить объявление класса B: class B; class A { B* b; }; class B { A* a; }; теперь добавляем в классконструкторы: class B; class A { B* b; public: A(B* btmp = 0) { b = btmp; } }; class B { A* a; public: B(A* atmp = 0) { a = atmp; } }; пока проблем нет... но как видим, мы в констукторе копируем только указатели... и если только я пытаюсь написать следующее: A(B btmp = 0) { b = new B(btmp); } то тут уже объявления в начале класса B не хватает, и компилятор возникает: undefined structure B... как разрешить эту коллизию?
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум PIMPL без указателя (2016)
- Форум [c++] единый указатель для объектов нескольких разных классов (2009)
- Форум Класс в объекте (2001)
- Форум указатель на статический класс, неверный указатель (2012)
- Форум C++ указатель на временный объект (2007)
- Форум C++ - указатель на функции класса (2012)
- Форум хранение указателей на экземпляры класса (2013)
- Форум perl - указатель на метод класса (2005)
- Форум порядок удаления объектов класса, C++ (2013)
- Форум копировать данные между объектами классов (2021)