C 之多重繼承

2021-07-29 23:34:32 字數 776 閱讀 8639

當子類繼承於多個父類時,有以下兩種情況存在,稱之為多重繼承

//多重繼承

#include "stdafx.h"

#include#includeusing namespace std;

//父類中同名函式如何區分

class a

void print() };

class b//父類b

void print() };

class c :public a, public b

void get_ab() };

int main()

通過明確指明作用域解析符號進行區分

x.a::print();//指明呼叫a的print()函式

對於上面右邊的圖中我們稱之為菱形繼承

//菱形繼承

#include "stdafx.h"

#include#includeusing namespace std;

class r//祖先類

void printon()const };

//父類

class a :public r

};//父類

class b :public r

};//子類

class c :public a, public b

};int main()

C 之多重繼承

大多數應用程式使用單個基類的公用繼承,但是在某些情況下,單繼承是不夠的,必須使用多繼承。c 允許為乙個派生類指定多個基類,這樣的繼承結構被稱做多重繼承.舉個例子,交通工具類可以派生出汽車和船連個子類,但擁有汽車和船共同特性水陸兩用汽車就必須繼承來自汽車類與船類的共同屬性。如下圖示 實現 多重繼承 i...

C 之多重繼承

c 中,所謂的多繼承是指乙個派生類可以有多個基類,這樣就可能帶來以下幾方面的問題 1 多個基類中存在相同名稱時 如果乙個派生類繼承的多個基類中包含有相同名稱的函式時,有可能會產生呼叫不明確,即發生歧義,比如如下 1 class borrowableitem2 67class electronicga...

python之多重繼承

因為繼承可以獲取父類的屬性以及函式,所以繼承在物件導向程式設計中是乙個重要的方式,但是,如果物件中的繼承關係過多,就會導致繼承層次太多,因此出現了多重繼承的概念,即繼承不再是一對一,而是可以乙個子類繼承多個父類的方式,方法就是在類後面的括號用逗號隔開每乙個繼承類 如下 class animal ob...