C++ 速查手冊

9.2 - 初值串列

除了可以在建構函數中設定資料成員外,資料成員也可以由初值串列 (initializer list) 來設定,例如

#include <iostream>
  
class Demo {
public:
    int a;
    int b;
    
    Demo(int pa, int pb): a(pa), b(pb) {
        std::cout << "constructor.." << std::endl;
    }
    
    int do_something() {
        return a + b;
    }
};

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

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

初值串列在建構函數的名稱之後,加上一個冒號,然後是資料成員與小括弧中的參數

Demo(int pa, int pb): a(pa), b(pb) {

這樣就會將 pa 的值設定給 apb 的值設定給 b

編譯執行結果如下

$ g++ u0902.cpp
$ ./a.out
constructor..
99
$

上一頁 9.1 - 建構函數
回 C++ 速查手冊首頁
下一頁 9.3 - explicit 指示詞
回 C++ 教材
回程式語言教材首頁