孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

有如下的C++代码

#include <iostream>
using namespace std;
class Base
{
public:
Base(
int i) {cout<<"Base constructor called "<<i<<endl;}
~Base(void) {cout<<"Base destructor called"<<endl;}
};

class Base1:public Base
{
public:
Base1(
int i,int j):Base(j) {cout<<"Base1 constructor called "<<i<<endl;}
~Base1(void) {cout<<"Base1 destructor called"<<endl;}
};

class Base2
{
public:
Base2(
int i) {cout<<"Base2 constructor called "<<i<<endl;}
~Base2(void) {cout<<"Base2 destructor called"<<endl;}
};

class Base3
{
public:
Base3(
int i) {cout<<"Base3 constructor called "<<i<<endl;}
~Base3(void) {cout<<"Base3 destructor called"<<endl;}
};

class Derived:public Base2,public Base1,public Base3
{
Base3 member3; Base1 member1; Base2 member2; Base member;
public:
Derived(
int i,int a,int b,int c,int d,int e,int f,int g)
:Base1(g,a),member2(e),member1(g,d),Base2(b),member3(f),Base3(c),member(i)
{
cout
<<"Derived constructor called "<<i<<endl;
}
~Derived(void) {cout<<"Derived destructor called"<<endl;}
};

int main()
{
Derived objD(
1,2,3,4,5,6,7,8);
return 0;
}

用 $ g++ -Wall -o base1 base1.cpp 进行编译

运行 $ ./base1 结果为

posted on 2011-05-22 20:28  孤独的猫  阅读(221)  评论(0编辑  收藏  举报