類建構函式初始值列表

2021-07-15 08:27:35 字數 461 閱讀 1239

類的成員可以包括函式和成員變數,如果成員變數沒有顯示的初始化時,則應該最好對他們進行顯示的初始化,而不能靠他們的預設初始化,因為有些變數沒有預設初始值的。現在類成員初始化工作都是靠類的建構函式來完成,類中提供預設建構函式來提供初始化類成員功能,

初始化類成員一般有兩種方式,即類成員定義時賦初始值和使用建構函式,那麼初始化是在建構函式體完成的嗎?答案是否,如果在函式體中對成員進行操作,那只是賦值而不是初始化。建構函式是使用初始值列表來對成員進行初始化的。初始化順序以成員定義的順序為準,即使初始值列表是另外種順序。例:

class a;

int a;

int b;

int c;

}類a的建構函式是a(int i):a(i),c(i),b(i){};初始值列表為a(i),c(i),b(i),雖然看起來他們的初始化順序為a(i),c(i),b(i),但是實際初始順序為a,b,c,初始值列表初始順序是依賴類中成員定義的順序

C 中類的建構函式初始值列表

c 中類的建構函式初始值列表可以對類的成員進行初始化。class myclass 其中,類myclass的建構函式中包含了初始值列表,對成員變數i進行初始化。除了通過建構函式初始值列表來初始化成員變數外,還可以通過建構函式的函式體來初始化成員變數。class myclass 此時,成員變數i的初始值...

由C 建構函式初始值列表想到的

大家在編寫c 的時候,總是會遇到下面這個問題,什麼時候為建構函式提供初始值列表 當然,推薦做法都是以初始值列表代替建構函式體內賦值 資料成員初始化動作是在建構函式體之前的,相對應的,析構函式的資料成員銷毀動作是在析構函式體之後的。所常見的必須提供初始值列表的情況有,前面兩個比較好理解,const和引...

C 中類初始值列表與類內初始化

類的建構函式的作用是對其成員進行初始化。而在建構函式中可以使用初始值列表為新建立的物件的成員進行賦值。在類的建構函式名之後緊跟著冒號,冒號後面是要初始化的成員名,之後是圓括號或者花括號括起來的初始值。這樣的結構就是建構函式的初始值列表,如下所示。class a int a int b 其中,自定義類...