C++ 快速導覽 - 類別 多重繼承

衍生類別 (derived class) 可以繼承超過一個的基礎類別 (base class) ,這樣的特性被稱為多重繼承 (multiple inheritance) 。



衍生類別也常被稱為子類別 (subclass) ,基礎類別也常被稱為父類別 (superclass) 。


舉例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#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: public Demo, public Demo2 {
public:
    int do_something() {
        return a + b + c + d;
    }  
};
 
int main(void) {
    Demo3 d;
    std::cout << d.do_something() << std::endl;
 
    return 0;
}
 
/* 《程式語言教學誌》的範例程式
    檔名:classdemo20.cpp
    功能:示範 C++ 程式
    作者:張凱慶
    時間:西元 2013 年 1 月 */


Demo3 繼承自 DemoDemo2 ,用逗號 , 間隔兩個類別
15
16
17
18
19
20
class Demo3: public Demo, public Demo2 {
public:
    int do_something() {
        return a + b + c + d;
    }  
};


編譯執行結果如下



中英文術語對照
衍生類別derived class
基礎類別base class
多重繼承multiple inheritance


您可以繼續參考
類別


相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁


參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial

C++ Primer, Fourth Edition, Stanley B. Lippman...

沒有留言: