虚基类和派生类的函数调用

#include<iostream.h>

class A

{

public:

       A()

       {

        cout<<"类A的构造函数"<<endl;

       }

       ~A()

       {

        cout<<"类A的析构函数"<<endl;

       }

};

class B

{

public:

       B()

       {

        cout<<"类B的构造函数"<<endl;

       }

       ~B()

       {

        cout<<"类B的析构函数"<<endl;

       }

};

class C: virtual public A

{

public:

       C()

       {

        cout<<"类C的构造函数"<<endl;

       }

       ~C()

       {

        cout<<"类C的析构函数"<<endl;

       }

};

class D: virtual public A

{

public:

       D()

       {

        cout<<"类D的构造函数"<<endl;

       }

       ~D()

       {

        cout<<"类D的析构函数"<<endl;

       }

};

class E

{

public:

       E()

       {

        cout<<"类E的构造函数"<<endl;

       }

       ~E()

       {

        cout<<"类E的析构函数"<<endl;

       }

};

class F:public B,public C,public D

{

private:

       Eevar;

public:

       F()

       {

        cout<<"类F的构造函数"<<endl;

       }

       ~F()

       {

        cout<<"类F的析构函数"<<endl;

       }

};

void main()

{

 FfVar;

cout<<"程序结束!"<<endl;

}

 

你可能感兴趣的:(虚基类和派生类的函数调用)