您好,登錄后才能下訂單哦!
//多重繼承 #include <iostream> using namespace std; class A { public: int a; A(int a=0):a(a) { cout<<"A基類(lèi)A::A()"<<endl; } ~A() { cout<<"A基類(lèi)A::~A()"<<endl; } void show() { cout<<"A基類(lèi)A::a="<<a<<endl; } }; class B:public A { protected: int b; public: B(int a=0,int b=0):A(a),b(b) { cout<<"B子類(lèi)B:B()"<<endl; } ~B() { cout<<"B子類(lèi)B:~B()"<<endl; } void show() { cout<<"B子類(lèi)B::b="<<b<<endl; } }; class C:public A { protected: int c; public: C(int a=0,int c=0):A(a),c(c) { cout<<"C子類(lèi)C::C()"<<endl; } ~C() { cout<<"C子類(lèi)C::~C()"<<endl; } void show() { cout<<"C子類(lèi)C::c="<<c<<endl; } }; class D:public B,public C { protected: int d; public: D(int a=0,int b=0,int c=0,int d=0):d(d),B(a,b),C(a,c) { cout<<"D孫子類(lèi)D::D()"<<endl; } ~D() { cout<<"D孫子類(lèi)D::~D()"<<endl; } void show() { cout<<"D孫子類(lèi)D::c="<<d<<endl; } }; void Display(A *p) { p->show(); } int main(int argc, char *argv[]) { A a(1); B b(2,3); C c(4,5); D d(6,7,8,9); A *p; p=&a; p->show(); p=&b; p->show(); p=&c; p->show(); B *q; q=&d; q->show(); return 0; }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。