C++ 速查手冊
9.18 - 多重繼承
衍生類別可以繼承超過一個的基礎類別,這樣的特性被稱為多重繼承 (multiple inheritance) 。
舉例如下
#include <iostream>
class Demo {
public:
Demo() {
a = 702;
b = 631;
}
protected:
int a;
int b;
};
class Demo2 {
public:
Demo2() {
c = 548;
d = 255;
}
protected:
int c;
int d;
};
class Demo3: Demo, Demo2 {
public:
int do_something() {
return a + b + c + d;
}
};
int main(void) {
Demo3 d;
std::cout << d.do_something() << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0918.cpp
功能:示範 C++ 的類別
作者:張凱慶*/
Demo3 繼承自 Demo 與 Demo2 ,用逗號 , 間隔兩個類別
class Demo3: Demo, Demo2 {
public:
int do_something() {
return a + b + c + d;
}
};
編譯執行,結果如下
$ g++ u0918.cpp |
$ ./a.out |
2136 |
$ |
相關教學影片