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 的值設定給 a , pb 的值設定給 b 。
編譯執行結果如下
$ g++ u0902.cpp |
$ ./a.out |
constructor.. |
99 |
$ |