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 运行结果