1 #include <iostream> 2 3 using namespace std; 4 5 class Base 6 { 7 public: 8 Base(int i){cout <<i<<‘ ‘<<"Base"<<endl;} 9 ~Base(){} 10 }; 11 12 class Base1: virtual public Base 13 { 14 public: 15 Base1(int i, int j=0):Base(j){cout<<i<<‘ ‘<<"Base1"<<endl;} 16 ~Base1(){} 17 }; 18 19 class Base2: virtual public Base 20 { 21 public: 22 Base2(int i,int j=0):Base(j){cout<<i<<‘ ‘<<"Base2"<<endl;} 23 ~Base2(){} 24 }; 25 26 class D:public Base2, public Base1 27 { 28 public: 29 D(int a, int b, int c, int d):mem1(a), mem2(b), Base1(c),Base2(d), Base(a){cout<<b<<‘ ‘<<"D"<<endl;} 30 private: 31 Base2 mem2; 32 Base1 mem1; 33 }; 34 35 int main() 36 { 37 D d(1,2,3,4); 38 39 system("pause"); 40 return 0; 41 }
输出结果为:
原文:http://www.cnblogs.com/yyxayz/p/4357564.html