gpt4 book ai didi

c++ - 将对类的引用声明为类成员

转载 作者:行者123 更新时间:2023-11-30 01:15:01 26 4
gpt4 key购买 nike

我想将对类的引用声明为类似于指向类的指针作为它自己的成员变量。以下是我编写的代码,但我现在不知道如何进一步创建此类的对象,因为即使我编写了默认构造函数或构造函数来仅初始化 var,编译器也总是会出错>.

class Test2
{
private:
Test2& testRef;
int var;

public:
Test2( int x, Test2 testObj ) : var( x ), testRef( testObj )
{

}
};

我需要进一步做些什么来创建此类的对象,或者根本不可能这样做。如果不可能,为什么编译器不简单地给出一个错误,说你不能引用自己的类

最佳答案

如果你有一个引用成员,你必须在所有构造函数中初始化它,因为引用必须被初始化。甚至你的默认构造函数。由于您创建的此类的第一个对象没有任何其他它可以引用的对象,因此您必须将其引用给自己。例如:

Test2() :testRef(*this) {}

关于c++ - 将对类的引用声明为类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29227243/

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