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 繼承自 DemoDemo2 ,用逗號 , 間隔兩個類別

class Demo3: Demo, Demo2 {
public:
    int do_something() {
        return a + b + c + d;
    }
};

編譯執行,結果如下

$ g++ u0918.cpp
$ ./a.out
2136
$

相關教學影片

上一頁 9.17 - 繼承
回 C++ 速查手冊首頁
下一頁 9.19 - virtual 函數
回 C++ 教材
回程式語言教材首頁