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的速度行使