gpt4 book ai didi

c++ - 类可以自引用吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:56 27 4
gpt4 key购买 nike

**如果一个结构可以是自引用的。喜欢

struct list
{
struct list *next;
};

除了默认访问说明符之外,类和结构之间没有区别。那有没有可能写一个类...

class list
{
class list *next;
};

或者可能有任何不同的语法来获得自引用类。?如果是那么怎么办?**

最佳答案

是的,但你只能自引用指针或对类(或结构)的引用

典型的方式就是:

class list { list* next; }

如果你需要两个类相互引用,你只需要前向声明类,像这样:

class list;
class node;

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

当你没有完整的声明(只是前向声明)时,你只能声明指针或引用。这是因为编译器总是知道指针或引用的大小,但不知道类或结构的大小,除非它有完整的声明。

关于c++ - 类可以自引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1021740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com