malloc與new在使用虛函式實現多型上的問題

2021-10-05 16:50:46 字數 563 閱讀 3034

class base ;

base(int num) :i(num) {};

virtual void fun1()

virtual void fun2()

void fun3()

};class derived : public base ;

derived(int num) :j(num) {};

virtual void fun2()

void fun3()

};

int main()

int main()

malloc在申請記憶體空間時,不會呼叫建構函式,new會呼叫建構函式;

調不呼叫建構函式所產生的乙個問題就是用於指向虛列表的虛指標沒有初始化;

顯示呼叫建構函式

int main()

new與malloc的區別

1,malloc與free是c c語言的標準庫函式,new delete是c 的運算子。它們都可用於申請動態記憶體和釋放記憶體。2,對於非內部資料型別的物件而言,光用maloc free無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行析構函式。由於malloc f...

new與malloc的區別

malloc 與free 是c c 語言的標準庫函式,new delete 是c 的運算子。它們都可用於申請動態記憶體和釋放記憶體。對於非內部資料型別的物件而言,光用maloc free 無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行析構函式。由於 malloc...

Malloc與new 的區別

malloc與new 的區別 1,malloc與free是c c語言的標準庫函式,new delete是c 的運算子。它們都可用於申請動態記憶體和釋放記憶體。2,對於非內部資料型別的物件而言,光用maloc free無法滿足動態物件的要求。物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行...