第7章 類
const成員函式
7.1.4 建構函式
預設建構函式,可以使用=default進行定義。和其他函式一樣,如果=default在類的內部,則預設建構函式是內聯的;如果它在類的外部,則該成員預設情況下不是內聯的;
7.2 訪問控制與封裝
class與struct的唯一區別為class的預設訪問許可權為private,而struct的預設訪問許可權為public;
友元可以允許其他類或函式訪問該類的非公有成員,方法是令其他類或函式成為它的友元(friend);友元宣告只能出現在類定義的內部,友元不是類的成員也不受它所在區域訪問控制級別的約束;
7.3 類的其他特性
定義在類內部的成員函式是自動inline的,可以在類的內部把inline作為宣告的一部分顯式地宣告成員函式,同樣也可以在類的外部;
可以通過在變數的宣告中加入mutable關鍵字使得某個資料成員在乙個const成員函式內可以被修改;
類資料成員的初始值,類內初始值必須使用=的初始化形式或者花括號的直接初始化形式。
類之間的友元關係,如果類a需要訪問類b中的私有成員,則須在類b中指定類a為它的友元。
class b;
令成員函式作為友元,即可以指定a類中的成員函式為友元,每個類負責控制自己的友元類或友元函式,友元關係不存在傳遞性。
7.5 建構函式再探
class a;
a():a(agr1,agr2,...){};
}
class bar
c primer讀書筆記 第5章 語句
1.switch語句 case關鍵字和它對應的值一起被稱為case標籤,case標籤必須是整型常量表示式。int val 42 char ch while cin ch switch的執行流程有可能跨過某些case標籤。如果程式跳轉到了某個特定的case,則switch結構中該case標籤前的部分會...
《C Primer》讀書筆記 第5章 語句
前面一些簡單的知識點略過 case關鍵字和它對應的值一起被稱為case標籤。case標籤必須是整形常量表示式,另外要注意的是bool char short 列舉型別也算是整形。switch語句中如果某個case標籤匹配成功,將從該標籤開始往後執行所有case分支。每個case語句分支後都應該有bre...
C Primer 讀書筆記 第12章 類
1.建構函式一般應用乙個建構函式初始化列表來初始化物件的資料成員。2.建構函式不能為const。3.可以認為夠在函式分兩個階段執行 1 初始化階段 2 普通計算階段,計算階段由建構函式函式體中所有語句組成。4.不管成員是否在建構函式初始化列表中顯示初始化,類型別的資料成員總是在初始化階段初始化,初始...