虛基類的例子

2021-06-18 20:50:27 字數 628 閱讀 8811

#include#include#includeusing namespace std;

class person//虛基類的作用避免重複繼承基類中的元素 ,針對一堆多對一的繼承結構

protected:

string name;

char ***;

int age;

};class teacher:virtual public person

//只要寫出新增加的資料即可

protected:

string title;

};class student:virtual public person

protected:

float score;

};class graduate:public teacher,public student

void show()

private:

float wage;

};int main()

//三種繼承方式,相同點:派生類成員函式可以訪問基類中的public和protected部分,不同點:只有公共繼承派生類物件可以訪問基類中 public部分,其他繼承方式派生類物件都不可以 訪問任何部分

虛基類 虛函式和純虛基類

首先看乙個例子 class base class child1 public base class child2 public base void main else p print 函式呼叫的時候,檢視虛表,根據p的位址首先從虛表裡面查詢要呼叫的函式 這裡呼叫child2的print 函式 ret...

C 的虛基類

虛基類 當在多條繼承路徑上有乙個公共的基類,在這些路徑中的某幾條匯合處,這個公共的基類就會產生多個例項 或多個副本 若只想儲存這個基類的乙個例項,可以將這個公共基類說明為 虛基類 虛基類.在繼承中產生歧義的原因有可能基類是繼承類繼承了基類多次,從而產生了多個拷貝,即不止一次的通過多個路徑繼承類在記憶...

虛基類的用法

1 include 2 3using namespace std 45 classa6 11void show const 1215 a 16 17class b virtual public a 定義虛基類的用法 18 子類建構函式必須使用初始化列表 初始化列表在時間效能上比函式體內賦值更有優勢,...