1. 程式人生 > >第三章 怎樣使用類和物件

第三章 怎樣使用類和物件

3.1
首先不能在類的宣告中對資料成員進行初始化,因為類只是一種抽象型別並不是一個實體,不佔用儲存空間,
故無法存放資料。

如果一個類中的資料成員全部(must)都是public的,則可以在定義物件時進行初始化
Time t1 = {12,0,0};//全部資料成員

否則我們就需要用類似set_time這種成員函式的方式來進行初始化,但是當該類有多個物件(外),且類中的資料成員比較多時,程式就會太臃腫了。so

建構函式constructor
一種特殊的成員函式,不需要使用者呼叫,而是在建立物件時系統自動執行。函式名和類名必須同名,沒有返回值。
一般定義為public。constructor也可在類外定義,但同樣要在類內宣告。

對於同一類的不同物件可以這樣初始化
Time a;    //呼叫constructor
Time b = a;//un

3.1.3帶引數的建構函式
建構函式首部一般格式:
建構函式名 (型別1 形參1,型別2 形參2,型別3 形參3,...)
ex:Time (int a,int b,string s)
定義物件的一般格式:
類名 物件名 (實參1,實參2,實參3,...)
ex:Time t1(2018,11,"happy");


很自然我們想知道 可不可以不對全部資料成員進行初始化,只對部分操作。
這就用到建構函式的過載了。