gpt4 book ai didi

oop - 一个类可以有自己类型的成员吗?

转载 作者:行者123 更新时间:2023-12-04 13:40:59 24 4
gpt4 key购买 nike

为了模拟对象包含相同类型的其他实例的包含关系,我可以这样定义一个类吗?

class RussianDoll {

string name;
RussianDoll doll;

RussianDoll();
}

我应该如何为这个类构建构造函数?

最佳答案

Can a class have a member of its own type?

当然。这实际上很常见。例如,考虑链表中节点的情况:

class Node {
Node next;
int value;
}


How should I build the constructor(s) for this class?

您有多种选择(见下文)。显然,您应该避免在每次调用构造函数时都创建该类的新实例,因为这会导致无限递归。

  • 你可以将一个Node作为参数并像这样初始化它

    this.next = nextArg;
  • 您可以将其初始化为空引用

    this.next = null;
  • 您可以将其初始化为this

    this.next = this;

(以任何方式在构造函数中创建整个对象图通常不是一个好主意,所以无论如何我都不会担心这个:-)

关于oop - 一个类可以有自己类型的成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6496697/

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