文档库

最新最全的文档下载
当前位置:文档库 > 4.6.多重继承与虚基类

4.6.多重继承与虚基类

4.6.多重继承与虚基类

http://www.wendangku.net/doc/d211d9cbfab069dc502201b5.html

多重继承与虚基类

【ITjob课程资料】

多重继承与虚基类

如果一个派生类同时有两个或者多个基类,派生类从两个和多个基类中继承所需的属性,这种继承方式称为多重继承(Multiple Inheritance)。如果一个派生类有多个直接基类,而这些直接基类又有一个共同的成员,则在生成派生类对象时,系统会为派生类对象生成共同基类成员变量的多份拷贝。如果希望派生类对象中只包含一份共同基类的成员变量,则可以在声明派生类时,通过virtual继承方式,使派生对象只保留共同基类的一份成员变量。

例4.8 没有同名成员的多重继承

#include

using namespace std;

class CBaseA

{

public:

int m_ai;

void AFunc()

{

m_ai++;

cout<

}

};

class CBaseB

{

public:

int m_bi;

void BFunc()

{

m_bi++;

cout<

}

};

class CDerived:public CBaseA,public CBaseB

{

public:

int m_j;

};

int main()

{