C++ 結構體例項和類例項的初始化

發表於2016-12-04

構體例(包括共用體)和類實例的初始化方法完全相同,二者都可以用於次中。不同點是構體(包括共用體)默員為public,而private型的。

一、若類和結構體所有資料成public型,可採取如下花括號形式進行初始化。

注意:

①        論值的個數多少,都必使用花括號定界

②        未指定的資料成員編譯器會自初始化認值

③        這種初始化象方式,要求所有資料成須為public

④        這種初始化象方式,要求中不能寫任何建構函式

二、若資料成privateprotected型,或是提供了建構函式,必使用建構函式來行初始化。

重要提示:

①        S os3=S(2000,4.567);句中,因是宣告並初始化os3象,所以將調S(int,double)建構函式os3行初始化。

②        S os3(2000,4.567); 等價於 S os3=S(2000,4.567);

③        但如果os3存在了,S os3(100,1.234);os3=S(2000,4.567)表示用一個臨時對賦值給os3,將調operator=,然後系臨時產生的象。系=運算是將源象的資料成值復制到目標對象中的資料成中。

三、接受一個引數的建構函式允使用賦值句法初始化象。

說明程式碼如下:

相關文章