4 c++
**如果结构可以是自我指涉的.喜欢
struct list
{
struct list *next;
};
Run Code Online (Sandbox Code Playgroud)
因为除了默认访问说明符之外,类和结构之间没有区别.那么可以写一堂课......
class list
{
class list *next;
};
Run Code Online (Sandbox Code Playgroud)
或者可能有任何不同的语法来获得自我指涉类.如果是的话怎么样?**
Lou*_*nco 13
是的,但您只能自引用指针或对类(或结构)的引用
典型的方法是:
class list { list* next; }
Run Code Online (Sandbox Code Playgroud)
如果你需要两个相互引用的类,你只需要转发声明类,如下所示:
class list;
class node;
class list { node* first; }
class node { list* parentList; node* next; }
Run Code Online (Sandbox Code Playgroud)
如果没有完整声明(只是前向声明),则只能声明指针或引用.这是因为编译器总是知道指针或引用的大小,但不知道类或结构的大小,除非它具有完整的声明.