C++ 速查手冊

9.17 - 繼承

繼承為物件導向程式設計的特性之一,衍生類別 (derived class) 可以承接基礎類別 (base class) 的 publicprotected 成員,這是說,基礎類別透過繼承就具有衍生類別的 publicprotected 成員。

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

舉例如下

#include <iostream>
  
class Demo {
public:
    Demo() {
        a = 10;
        b = 33;
    }
    
protected:
    int a;
    int b;
};

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

int main() {
    Demo2 d;
    std::cout << d.do_something() << std::endl;
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://kaiching.org/
   檔名:u0917.cpp
   功能:示範 C++ 的類別
   作者:張凱慶*/

Demo2 繼承自 Demo ,繼承的寫法是在衍生類別後面接冒號,然後存取標籤加基礎類別

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

編譯執行,結果如下

$ g++ u0917.cpp
$ ./a.out
43
$

相關教學影片

上一頁 9.16 - 多載運算子
回 C++ 速查手冊首頁
下一頁 9.18 - 多重繼承
回 C++ 教材
回程式語言教材首頁