请考虑下面这个例子:为什么在C++中允许将类对象指向成员变量,但不允许类对象本身?
#include <bits/stdc++.h>
using namespace std;
class Example{
private:
int var1;
Example *oak;
};
是好的,但不是这个
#include <bits/stdc++.h>
using namespace std;
class Example{
private:
int var1;
Example oak;
};
为什么有一个指向同一类对象作为成员变量是好的,但不是类对象本身作为一个成员变量?
你可以给我一些实际的情况,有一个类对象作为成员变量是有用的吗?
第二种类型的尺寸是多少?在C++中,每种类型都有一个大小。一个int可能是4个字节,一个指针也可能是4个字节。在第二个例子中,'Example'的大小必须是'sizeof(Example)= 4 + sizeof(Example)'。这是一个没有解决方案的方程式。在第一个例子中,你有'sizeof(Example)= 4 + sizeof(Example *)= 4 + 4 = 8'(作为一些目标的例子) – Justin
你不能存储一架(相同型号的)飞机一架飞机的货舱......但你可以存储一张纸条,说明在哪里可以找到另一架飞机 –