Intereting Posts

Может ли class быть привязанным к себе?

** Если структура может быть самореференциальной. лайк

struct list { struct list *next; }; 

поскольку нет разницы между classом и структурой, кроме спецификаций доступа по умолчанию. то можно ли написать class …

 class list { class list *next; }; 

или может быть, есть какой-либо другой синтаксис для получения classа самореференции.? если да, то как? **

Да, но вы можете только самостоятельно ссылаться на указатель или ссылку на class (или структуру)

Типичный способ:

 class list { list* next; } 

Если вам нужны два classа для взаимного обращения друг к другу, вам просто нужно переслать декларацию classов, например:

 class list; class node; class list { node* first; } class node { list* parentList; node* next; } 

Если у вас нет полного объявления (просто объявление вперед), вы можете объявлять указатели или ссылки. Это связано с тем, что компилятор всегда знает размер указателя или ссылки, но не знает размер classа или структуры, если он не имеет полного объявления.