請考慮下面這個例子:爲什麼在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
你不能存儲一架(相同型號的)飛機一架飛機的貨艙......但你可以存儲一張紙條,說明在哪裏可以找到另一架飛機 –