C++ 快速導覽 - 類別 初值串列

除了可以在建構函數 (constructor) 中變數成員 (variable member) 外,變數成員也可以由初值串列 (initializar list) 來設定,例如

#include <iostream>

class Demo {
public:
    int a;
    int b;
    
    // 使用初值串列的建構函數
    Demo(int pa, int pb): a(pa), b(pb) {
        std::cout << "constructor called.." << std::endl;
    }
    
    int do_something() {
        return a + b;
    }
};

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

    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:classdemo04.cpp
    功能:示範 C++ 程式
    作者:張凱慶
    時間:西元 2013 年 1 月 */


初值串列在建構函數的名稱之後,加上一個冒號,然後是變數成員與小括弧中的參數 (parameter)
// 使用初值串列的建構函數
Demo(int pa, int pb): a(pa), b(pb) {
    std::cout << "constructor called.." << std::endl;
}


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


編譯執行結果如下



中英文術語對照
建構函數constructor
變數成員variable member
初值串列initializar list
參數parameter


您可以繼續參考
類別


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


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

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

沒有留言: