C++筆記 第二十課 初始化列表的使用---狄泰學院
阿新 • • 發佈:2018-11-07
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。
學習C++編譯環境:Linux
第二十課 初始化列表的使用
問題:類中是否可以定義const成員?可以
小實驗
下面的類定義是否合法?不合法
如果合法,ci的值是什麼,儲存在哪裡?
20-1 類中的const成員
#include <stdio.h> class Test { private: const int ci; public: Test() { ci = 10; } int getCI() { return ci; } }; int main() { Test t; printf("t.ci = %d\n", t.getCI()); return 0; }
1.類成員的初始化
C++中提供了初始化列表對成員變數進行初始化
語法規則
注意事項
成員的初始化順序與成員的宣告順序相同
成員的初始化順序與初始化列表中的位置無關
初始化列表先於建構函式的函式體執行
20-2 初始化列表的使用
2.類中的const成員
類中的const成員會被分配空間的
類中的const成員的本質是隻讀變數
類中的const成員只能在初始化列表中指定初始值
編譯器無法直接得到const成員的初始值,因此無法進入符號表成為真正意義上的常量。
20-3 只讀成員變數
小插曲
初始化與賦值不同
初始化:對正在建立的物件進行初值設定
賦值:對已經存在的物件進行值設定
小結
類中可以使用初始化列表對成員進行初始化
初始化列表先於建構函式體執行
類中可以定義const成員變數
const成員變數必須在初始化列表中指定初值
const成員變數為只讀變數