建構函式:處理物件的初始化,是一種特殊的成員函式,與其他函式不同,不需要使用者來呼叫它,在建立物件時自動執行。
注意:(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是...