建構函式:
建構函式的作用:
1) 建立物件;
2) 初始化其值;
建構函式所具有的的特性:
1) 建構函式的函式名與類名相同;
2) 沒有返回值;
建構函式的執行順序:
1) 傳參;
2) 按照類中成員變數宣告順序,依次構造其成員;
3) 執行建構函式的函式體;
建構函式有兩種過載形式:
1)帶有引數的;
2)無引數的,即預設建構函式;
例如:
class clock
;clock:: clock(int newh,int newm,int news)
clock:: clock()//建構函式
int main()
注:自定義的建構函式帶有形參,在建立物件時必須給出初始值;
複製建構函式(拷貝建構函式):
是一種特殊的建構函式,其形參是本類的物件的引用。
拷貝建構函式的作用:
使用乙個已經存在的物件,去初始化同類的乙個新物件;
拷貝建構函式的功能:
把初始值物件的每個資料成員的值都複製到新建立的物件中;
拷貝建構函式被呼叫的情況:
1)當用類的乙個物件去初始化該類的另乙個物件時;
2)如果函式的形參是類的物件,呼叫函式時;
3)如果函式的返回值是類的物件,返回函式值時,拷貝建構函式被呼叫
宣告和實現拷貝建構函式的一般方法:
class 類名
;類名::類名(類名&物件名) //拷貝建構函式的實現
例如:point 類
class point
point (point &p)
int getx()
int gety()
private:
int x,y;
};point ::point(point &p) //拷貝建構函式
C 建構函式 析構函式 複製建構函式
無聊的廢話 距離開始放假已經過去半個月了,這半個月,品讀了一本實用型的繪畫書籍,作了幾幅作品,又做了乙個模型,只是探索未知領域總會遇到各種問題,甚至難以解決的問題,筆者頹廢了兩天煲了一部劇,覺得自己深深的辜負了時間,決定動手總結一下學過的知識,主要是總結資料結構,不過筆者看到當初c 的筆記,決定再鞏...
建構函式,複製建構函式和析構函式
這些函式在網上很容易就可以查到定義和寫法,這裡就不贅述了。令人感興趣的是這些函式什麼時候執行,特別是複製建構函式和析構函式。用編寫的一段 很醜的 來說明。include include include class point point const point obj point double ge...
建構函式 複製建構函式 型別轉換建構函式 析構函式
成員函式的一種,名字與類名相同,可以有引數,不能有返回值 void也不行 乙個類可以有多個建構函式。如果定義類時沒寫建構函式,則編譯器生成乙個預設的無參建構函式,這個建構函式不做任何操作。如果定義了建構函式,則編譯器不生成預設的無參建構函式。物件生成時建構函式自動被呼叫,物件一旦生成,就再也不能在其...