C++ 速查手冊

9.5 - protected 成員

存取標籤 protected 的成員只限類別中可以使用,這點如同 private ,例如

#include <iostream>
  
class Demo {
public:
    Demo(int pa, int pb) {
        a = pa;
        b = pb;
    }
    
    int do_something() {
        return a + b;
    }
    
protected:
    int a;
    int b;
};

int main() {
    Demo d(12, 10);
    std::cout << d.do_something() << std::endl;
    
    return 0;
}

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

Demo 中宣告了兩個 protected 資料成員

protected:
    int a;
    int b;

另外在 public建構函數do_something() 使用其值

Demo d(12, 10);
std::cout << d.do_something() << std::endl;

編譯執行結果如下

$ g++ u0905.cpp
$ ./a.out
22
$

繼承機制中, publicprotected 成員都可被繼承,只有 private 成員不能被繼承。

上一頁 9.4 - private 成員
回 C++ 速查手冊首頁
下一頁 9.6 - 存取函數與修改函數