C++ 速查手冊 V1.00 - 單元 9.17 - 繼承




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


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

舉例如下


001 #include <iostream>
002
003 class Demo {
004 public:
005    Demo() {
006       a = 10;
007       b = 33;
008    }
009
010 protected:
011    int a;
012    int b;
013 };
014
015 class Demo2: Demo {
016 public:
017    int do_something() {
018       return a + b;
019    }   
020 };
021
022 int main() {
023    Demo2 d;
024    std::cout << d.do_something()
025              << std::endl;
026
027    return 0;
028 }
029  
030 /* Kaiching Chang 
031    u0917.cpp
032    2014-02 */

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


015 class Demo2: Demo {
016 public:
017    int do_something() {
018       return a + b;
019    }   
020 };

編譯執行,結果如下


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

continue ...

沒有留言: