您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++類成員相關應用方法是什么”,在日常操作中,相信很多人在C++類成員相關應用方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++類成員相關應用方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
C++為類中提供C++類成員的初始化列表
類對象的構造順序是這樣的:
1.類里面的任何成員變量在定義時是不能初始化的。
2.一般的數據成員可以在構造函數中初始化。
3.const數據成員必須在構造函數的初始化列表中初始化。
4.static要在類的定義外面初始化。
5.數組成員是不能在初始化列表里初始化的。
6.不能給數組指定明顯的初始化。
這6條一起,說明了一個問題:C++里面是不能定義常量數組的!因為3和5的矛盾。這個事情似乎說不過去啊?沒有辦法,我只好轉而求助于靜態數據成員。
到此,我的問題解決。但是我還想趁機復習一下C++類的初始化:
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
2.類外初始化:int CSomeClass::myVar=3;
3.const常量定義必須初始化,C++類里面使用初始化列表;
4.C++類不能定義常量數組。
關于const,復習一下常量指針:
如果const位于星號的左側,則const就是用來修飾指針所指向的變量,即指針指向為常量;如果const位于星號的右側,const就是修飾指針本身,即指針本身是常量。
在C++類中,必須做如下事情:
1.必須對任何const或引用類型成員以及沒有默認構造函數的 類 類型 的任何成員 顯示地使用初始化列表進行初始化
2.類成員在定義時是不能被初始化的。
3.C++類成員初始化順序與成員變量在構造函數中的位置選后順序無關,至于成員變量在類中定義的先后順序有關。
所以下面的例子是錯的:
class x { int i; int j; public : x( int value):j(value),i(j) { } }
對與上面的code,因為i先被初始化(i相對于j先定義的)而在i初始化時,j并沒有被初始化,故執行出現問題了。
到此,關于“C++類成員相關應用方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。