本文實例講述了C++實現(xiàn)的多重繼承功能。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、懷仁網(wǎng)絡(luò)推廣、成都小程序開發(fā)、懷仁網(wǎng)絡(luò)營銷、懷仁企業(yè)策劃、懷仁品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供懷仁建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
多重繼承
1. 多重繼承即一個類繼承了多個基類的屬性。
2. 多重繼承下派生類的構(gòu)造函數(shù)必須同時負(fù)責(zé)所有基類構(gòu)造函數(shù)的調(diào)用,
3. 派生類構(gòu)造函數(shù)的參數(shù)個數(shù),必須滿足多個基類初始化的需要。
4. 在多重繼承下,當(dāng)建立派生類對象時,系統(tǒng)首先調(diào)用各個基類的構(gòu)造函數(shù),調(diào)用順序與定義派生類時指定的基類順序一致。
多重繼承范例:
#include/* run this program using the console pauser or add your own getch, system("pause") or input loop */ class A { private: float fa; public: A(float a = 0) { fa = a; } float getdata() { return fa; } }; class B { private: float fb; public: B(float b = 0) { fb = b; } float getdata() { return fb; } }; class C:public A,public B { public: C(int a=0,int b=0):A(a),B(b) { } int sum() { return A::getdata()+B::getdata(); } }; int main(int argc, char** argv) { class C c1(12,23); class A *a1; a1 = &c1;//指向派生類的基類指針 //std::cout << c1.getdata() << std::endl; 此時有二義性的問題 std::cout << a1->getdata() << std::endl; std::cout << c1.B::getdata() << std::endl; std::cout << c1.A::getdata() << std::endl; return 0; }
輸出:
12
23
12
希望本文所述對大家C++程序設(shè)計有所幫助。