網頁

C++ 速查手冊 V1.00 - 單元 9.2 - 初值串列




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


001 #include <iostream>
002
003 class Demo {
004 public:
005    int a;
006    int b;
007
008    Demo(int pa, int pb): a(pa), b(pb) {
009       std::cout << "constructor.."
010                 << std::endl;
011    }
012     
013    int do_something() {
014       return a + b;
015    }
016 };
017
018 int main() {
019    Demo d(55, 44);
020    std::cout << d.do_something()
021              << std::endl;
022
023    return 0;
024 }
025  
026 /* Kaiching Chang 
027    u0902.cpp
028    2014-02 */

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


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

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


編譯執行結果如下


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

continue ...

沒有留言:

張貼留言

0.留言請選擇註冊帳號, Google 或 OpenID 均可
1.歡迎留言交流,但不歡迎垃圾留言及廣告留言
2.文章相關問題歡迎提出,請減少情緒性留言
3.非文章相關內容,請到 G+ 社群 FB 社團提出
4.問作業之留言會被直接刪除
5.莫忘網路禮節
6.可使用部份HTML標記,如 <b> 、 <i> 、 <a>
7.站長保留刪除留言的權力