10.多继承
C++允许一个子类继承自多个父类,这种现象叫做多继承。
多继承的语法
class 子类名:继承方式 父类名1, 继承方式 父类名2 {
};
示例
// filename: multi_inherit.cpp
#include <iostream>
#include <string.h>
using namespace std;
class Plane {
public:
void fly(int height) {
cout << "飞机以" << height<< "的高度飞行\n";
}
private:
int xxx;
};
class Car{
public:
void run(int speed) {
cout << "汽车以" << speed<< "km/h的速度行使\n";
}
private:
int yyy;
};
class PlaneCar: public Car, public Plane{
};
int main(int argc, char * argv[]) {
PlaneCar pc;
pc.fly(10000);
pc.run(210);
return 0;
}
编译和运行结果如下
weimz@mzstudio:~$ g++ -o multi_inherit multi_inherit.cpp
weimz@mzstudio:~$ ./multi_inherit
飞机以10000的高度飞行
汽车以210km/h的速度行使