1)編制標頭檔案如下
#ifndef fruitw4_h_
#define fruitw4_h_
class fruit
void print()
virtual void process()
private:
int no;
double weight;
char key;
}; virtual void process()
private:
int size;
char type;
};#endif
2) 主程式測試
#include using namespace std;
int _tmain(int argc, _tchar* argv)
/*輸出結果:
32 40
*/
3)**解析
b、查詢相關資料後可知,一方面在基類和派生類中都存在虛函式(vptr),指向對應的虛表(vtbl),那麼記憶體就會包括其指標;另一方面,記憶體的體系結構是對齊的,有一定的對齊規則。(網上參考資料記憶體對齊規則)
c、根據對齊規則繪製物件模型圖如下:
物件導向高階程式設計
相同class的各物件互為友元 class complex int func const complex param private double re,im string inline string string const char cstr 0 else inline string strin...
C 物件導向高階程式設計 筆記
最近重新複習了一下c 物件導向高階程式設計中知識點,學而時習之,不亦說乎。拷貝建構函式,拷貝的是同型別的物件 賦值建構函式 檢測自我賦值 為什麼?有什麼作用?if this str return this 組合繼承 委託示例 委託 繼承 composite pimpl 編譯防火牆 左邊永遠不用編譯,...
C 物件導向(高階)
1.構造 委託 乙個建構函式可以呼叫另外的建構函式 class aa int i a i,0 a int i,int j 注 避免遞迴呼叫 例 class aa int i a i,0 a int i,int j a 2.不可變物件和類 immutable object and class 不可變物...