C 第二十三天 多重繼承與虛繼承

2021-06-23 05:37:38 字數 1159 閱讀 2785

/*

多重繼承與虛繼承:

定義多重繼承:

派生類繼承的基類可以通過使用逗號(,)隔開多個基類,派生類為每個基類顯式或隱式指定訪問級別(public,private,protected)。對於類可以繼承的基類的數目沒有語言強加限制,但在乙個給定派生列表中,乙個基類只能出現一次。

派生類的構造次序:

基類建構函式按照基類建構函式在派生列表中的出現次序呼叫。從最終基類開始初始化。構造函式呼叫次序不受高早函式初始化列表中哦出現的基類影響,也不受基類在建構函式初始化列表中的出現次序的影響。析構函式呼叫的次序則相反。

基於指標型別或引用型別的查詢:

當乙個類繼承於多個基類的時候,那些基類之間沒有隱含的關係,不允許使用乙個基類的指標訪問其他基類的成員。

多繼承下的類作用域:

當乙個類油多個基類的時候,通過所有直接基類同時進行名字查詢,多重繼承派生類油可能從兩個或多個基類繼承同名成員,對該成員不加限定的使用是二義性的。

虛繼承:

虛繼承是一種機制,類通過指出它希望共享其虛基類的狀態。在虛繼承下,對給定虛基類,無論該類在派生層次中作為虛基類出現多少次,值繼承乙個共享的基類子物件。共享的基類子物件稱為虛基類。

虛基類的宣告:

通過關鍵子irtual修改宣告,將基類指定為通過虛繼承派生:

class classname : virtual public basename{};

任何指定為基類的類也可以被指定為虛基類,虛基類可以包含通常由非基類支援的任意類元素。

特殊的初始化語義:

在虛派生中,由最低層次派生類的建構函式初始化虛基類。

*/#include#includestruct base1

protected:

int ival;

double dval;

char cval;

private:

int *id;

};struct base2

protected:

double fval;

private:

double dval;

};struct derived:public base1;

struct mi:public derived,public base2;

int main()

第二十三天

1 使用 koa 搭建伺服器 const koa require koa 路由請求 context ctx 上下文 包含req和res ctx.body hello koa2 2 如何配置 koa 路由 const koa require koa 建立路由物件 const router requir...

冥想第二十三天

早上進行了快樂的事情,並跑了步,非常舒服,西四環有點堵,提前給朋友發了資訊讓他們避開。這也是為朋友多做的一些事情,感謝朋友。又來公園裡面轉了兩圈,聽著 你的答案 渾身舒服。輕鬆,保持輕鬆,進行一天的開心快樂的工作吧,上午工作到11 40左右感覺視線有些模糊,就是困了,然後告訴自己就是困了。平穩的度過...

UI第二十三天 動畫

動畫的使 場景 ios中的動畫是指 些檢視上的過渡效果 合理利 動畫能提 戶體驗 uiview的屬性動畫 calayer動畫 uiview動畫 uiviewtransition動畫 uiview動畫 frame 檢視框架 center 檢視位置 bounds 檢視 backgroundcolor 背...