必备技能10.6:继承多个基类
在C++中,一个派生类是可以继承两个或者多个基类的。如下的程序中,D就继承了B1和B2两个类。
//演示继承多个基类
#include <iostream>
using namespace std;
class B1
{
protected:
int x;
public:
void showx()
{
cout << x << "\n";
}
};
class B2
{
protected:
int y;
public:
void showy()
{
cout << y << "\n";
}
};
//类D继承了多个基类
class D : public B1, public B2
{
public:
//D是可以访问x和y的。因为它们在基类中是保护成员。
void set(int i, int j)
{
x = i;
y = j;
}
};
int main()
{
D ob;
ob.set(10,20); //调用D提供的函数
ob.showx(); //显示从B1继承来的成员值
ob.showy();//显示从B1继承来的成员值
return 0;
}
正如在这里例子中看到的那样,我们使用逗号来把继承的多个基类分割。另外,还要确保每个基类前面都有访问限定符。