【发布时间】:2019-07-04 08:41:42
【问题描述】:
所以我想创建一个类,它可以拥有一个类型本身的对象。 像这样的:
class foo {
foo Avalue = foo();
foo Bvalue = foo();
foo(int a, int b) {
Avalue = goo(a);
Bvalue = goo(b);
}
foo(foo a, int b) {
Avalue = foo(a);
Bvalue = goo(b);
}
foo(foo a, foo b) {
Avalue = foo(a);
Bvalue = foo(b);
}
}
class goo : foo {
int value;
}
这样我就可以拥有一个始终以“goo”对象终止的递归对象。 有什么办法吗?
【问题讨论】:
-
如果您有自己的实例,当您尝试创建第一个实例时会发生什么?它创建一个嵌套实例,然后该实例创建一个嵌套实例。什么时候停止?
-
这个类的对象的大小是多少?无法计算,因此编译器不知道要分配多少内存。
-
您实际上想用这种(不可能的)构造解决什么问题?