C 繼承細節 1

2022-09-12 02:51:13 字數 739 閱讀 7075

class a 

};class b : public a

};a *aptr = new b;

執行delete aptr後,如果a類中的析構函式為虛函式;則先呼叫b類中的析構函式在呼叫a類中的析構函式;否則只呼叫a類中的析構函式。

class a 

~a() {}

virtual a *getinstance();

};class b public a

~b() {}

virtual b *getinstance();

};

2. 如果基類中的虛方法被過載,則在派生類中應重新定義全部過載版本,否則將隱藏其他版本。
class a 

~a() {}

virtual a *getinstance();

virtual a *getinstance(int a);

virtual a *getinstance(double d);

};class b public a

~b() {}

virtual b *getinstance();

virtual b *getinstance(int a);

virtual b *getinstance(double d);

};

C 多繼承的細節

這幾天寫的程式應用到多繼承。以前對多繼承的概念非常清晰,可是很久沒用就有點模糊了。重新研究一下,重新整理 下記憶。假設我們有下面的 include class a virtual void show virtual void dispa class b virtual void show virtu...

C 多繼承的細節

這幾天寫的程式應用到多繼承。以前對多繼承的概念非常清晰,可是很久沒用就有點模糊了。重新研究一下,重新整理 下記憶。假設我們有下面的 include class a virtual void show virtual void dispa class b virtual void show virtu...

C 多繼承的細節

這幾天寫的程式應用到多繼承。以前對多繼承的概念非常清晰,可是很久沒用就有點模糊了。重新研究一下,重新整理 下記憶。假設我們有下面的 include class a virtual void show virtual void dispa class b virtual void show virtu...