visual c++类中的多重继承
visual c++类中的多重继承
C++的继承机制功能非常强大,除了支持单一继承(单一派生),还支持多重继承,顾名思义,多重继承就是指一个派生类从多个基类中派生而来,如图1所示。

图1 多重继承示意图
声明多重继承的类的语法如下:
class ClassName : AccessSpecifier1 BaseClass1, AccessSpecifier2 BaseClass2,……AccessSpecifierN BassClassN
{
//派生类新增成员
}
请看下面的例子:
#include "iostream.h"
class ClassA //基类1
{
public:
void setA(int nA);
int GetA();
private:
int a;
};
class ClassB //基类2
{
public:
void setB(int nB);
int GetB();
private:
int b;
};
class ClassAB : public ClassA,public ClassB //派生类
{
public:
void Dispaly();
};
int ClassA::GetA()
{
return a;
}
void ClassA::setA(int nA)
{
a=nA;
}
int ClassB::GetB()
{
return b;
}
void ClassB::setB(int nB)
{
b=nB;
}
void ClassAB::Dispaly()
{
cout<<"GetA()= "<}
void main()
{
ClassAB example; //声明一个派生类的对象实例
//http://www.isstudy.com
example.setA(5); //调用从基类1继承下来的成员函数
example.setB(3); //调用从基类2继承下来的成员函数
example.Dispaly(); //派生类自己的成员函数
}
运行效果如图2所示。

图2 运行结果