У вас есть круговая зависимость, и вам нужно переслать, чтобы объявить один из классов:
// forward declaration
class Box;
class Table
{
Box* boxOnit;
} // eo class Table
class Box
{
Table* onTable
} // eo class Box
Обратите внимание, что, вообще говоря, у нас будет отдельный заголовочный файл для Box
и Table
, с использованием предварительных объявлений в обоих, например:
box.h
class Table;
class Box
{
Table* table;
}; // eo class Box
table.h
class Box;
class Table
{
Box* box;
}; // eo class Table
Затем включите необходимый файл в наши файлы реализации (.cpp):
box.cpp
#include "box.h"
#include "table.h"
table.cpp
#include "box.h"
#include "table.h"