C 繼承和多型 2

2021-09-10 01:51:28 字數 1095 閱讀 7398

繼承:

單繼承多繼承

菱形繼承

存在的問題:間接基類的資料會出現多份,會導致訪問出錯。解決方法:虛表指標

虛繼承虛基類構造優先順序高

非虛基類布局優先於虛基類

#includeclass animal//抽象類

virtual void shark() = 0;//純虛函式

virtual ~animal(){}

private:

std::string mname;

};class dog:public animal

virtual void shark()

#includeclass bird

virtual void fly() = 0;

virtual ~bird(){};

private:

std::string mname;

};class egal:public bird

void fly()

else

int main()

菱形繼承的記憶體布局:

對下面**進行分析

C 繼承和多型

在c 的物件導向的大家庭裡,我感覺繼承算是很重要的了,因為有很多的東西都是依賴於繼承和多型的,所以單獨的在第三篇部落格裡做總結和昇華。繼承在面相物件的地方是乙個很是重要的東西,可以說在物件導向的世界裡沒有了繼承就沒有了這麼多的東西,而沒有了多型就沒有了多彩的世界。類的繼承是最為普遍的事情了,可是類又...

C 繼承和多型

剛學習了c 繼承和多型,對virtual override seal override new有點了解,在此寫下這篇文章以供以後參考,若有錯誤或不足,還望各位指出。這裡有3個類,分別是grandfather father son。好,我們現在來分析一下grandfather的遺產怎麼讓father繼...

C 繼承和多型

繼承是使 復用的一種機制。本質 單繼承 乙個派生類乙個基類派生。多繼承 乙個派生類有兩個人或者多個基類。如 馬與驢雜交所生的騾子就有兩個基類,騾子既繼承了馬的一些特徵,也繼承了驢的一些特徵 構造派生類包括 1 從基類接收成員 派生類接收基類的全部成員,沒有選擇 2 調整從基類接收的成員 可以改變基類...