建構函式的定義和建構函式的過載

2021-07-12 04:21:17 字數 1204 閱讀 7440

建構函式:處理物件的初始化,是一種特殊的成員函式,與其他函式不同,不需要使用者來呼叫它,在建立物件時自動執行。

注意:(1)

每建立乙個物件,就呼叫一次建構函式;

(2)建構函式沒有返回值,因此也沒有型別,作用只是對物件進行初始化;

(3)建構函式不需要被使用者呼叫,也不能被使用者呼叫。

建構函式的過載:建構函式具有相同的名字,而引數的個數或引數型別不相同。

例1  

編寫乙個基於物件的程式,在類中用帶引數的建構函式對資料成員初始化,求長方柱的體積。

解:程式:

#include

using namespace std;

class box

public:

private:

box::box(int h,int w,int len)

int box::volume()

int main()

結果:the volume of box1 is:9000

the volume of box2 is:9450

請按任意鍵繼續. . .

例2  

定義兩個建構函式,其中乙個有引數,乙個無引數,求長方柱的體積。

解:建立物件box1

時,沒有給出引數,系統找到與之對應的無參建構函式

box,

執行此建構函式的結果是使

3個資料成員的值均為

10,然後輸出

box1

的體積;建立物件

box2

時,給出

3個實參,系統找到有

3個形參的建構函式

box,

執行此建構函式的結果是使

3個資料成員的值為15,

30,25

,然後輸出

box2

的體積。

程式:#include

using namespace std;

class box

public:

private:

box::box()//在類外定義無參建構函式box

int box::volume()

int main()

結果:the volume of box1 is:1000

the volume of box2 is:11250

請按任意鍵繼續. . .

本文出自 「巖梟」 部落格,請務必保留此出處

建構函式的過載

過載 一詞多用 1 上一次 是 在建構函式體內 通過賦值語句對資料成員實現初始化 2 c 還有 一種 初始化 資料成員的 方法 引數初始化表 來實現對3 資料成員的初始化 這種方法不在 函式體內 對成員初始化 而是在 函式的首部實現4 例如定義建構函式 可以改用 以下形式 5 box box int...

建構函式過載

using system using system.data using system.configuration using system.collections using system.web using system.web.security using system.web.ui usin...

建構函式過載

include using namespace std class clock clock h 0 m 0 s 0 預設建構函式的賦值操作 inline void showtime private int h,m,s intmain 建構函式的過載實現!在上述案例中,c1的建構函式帶有引數,而c2是...