Kri*_*Oza 1 c++ reference class object
我想声明一个类的引用,类似于指向类的指针作为它自己的成员变量.以下是我编写的代码,但我现在陷入困境,如何继续创建这样一个类的对象,因为即使我只编写默认构造函数或构造函数来编译器,编译器也总是会出错var
.
class Test2
{
private:
Test2& testRef;
int var;
public:
Test2( int x, Test2 testObj ) : var( x ), testRef( testObj )
{
}
};
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来创建这样的类的对象或根本不可能这样做.如果不可能,为什么不编译器只是给出一个错误,说你不能引用自己的类.
如果您有引用成员,则必须在所有构造函数中初始化它,因为必须初始化引用.甚至是你的默认构造函数.由于您创建的此类的第一个对象将没有其他任何可以引用的对象,因此您必须将其引用给自己.例如:
Test2() :testRef(*this) {}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
507 次 |
最近记录: |