C中的建構函式

2022-02-02 08:39:33 字數 1110 閱讀 1682

1樓:匿名使用者

建構函式就是定義乙個類的物件是,用來初始化的~~

在建構函式中不要對類的示例做初始化以外的事情.不要嘗試顯式的呼叫建構函式,也就是直接去呼叫

這句話就是說,建構函式本身,不需要我們自己去呼叫。

例如:class a

public a(int w)

public a(int w,int y,int z) }

以上類a有3個建構函式,有3個全域性變數,當你建立乙個a的物件時,例如

a a = new a(); //此時,系統會自動呼叫類 a 的無參的建構函式,給a,b,c三個全域性變數賦初始值0。

當你想給類中的a變數賦值時 例如

a a = new a(5); //此時,系統會呼叫類 a 中含有乙個引數的建構函式,在函式中為 全域性變數a賦初始值5.

當你想給所有的全域性變數賦值時,就可以寫成

a a = new a(4,5,6); //這樣當定義完物件a時,就會給所有的全域性變數賦值了~~

如果你把全域性變數定義成 public型別的話

a a = new a(4,5,6);

a.a 的值就是4,

a.b 的值就是5,

a.c 的值就是6.//前提 a,b,c要都是公有的(public)

以上就是建構函式的具體用法,所以書上說不要嘗試顯示呼叫,也就是不要嘗試直接呼叫~~

就是這個意思

2樓:匿名使用者

建構函式的名字必須與類的名字相同:

class a

}當例項化的時候:a a=new a();//例項化程式自動呼叫建構函式,實現裡面的**

3樓:匿名使用者

建構函式,是一種特殊的函式,他沒有返回型別,它的方法名和類的名字相同,它的功能是對這個類的成員變數實現初始化,這種問題建議你多多看看書...

4樓:羅虹雨布彤

建構函式,

其實是乙個過程函式。

當乙個物件被例項化的過程中一定會發生的乙個過程。

系統預設無建構函式,其實是自動生成了空建構函式。

一般用來對該例項進行例項化的時候對物件進行預設初始化。

示例,參考樓上。

C中過載賦值建構函式的問題,C複製建構函式和號過載問題

賦值運bai算符和複製建構函式都 du是用已存zhi在的b物件來建立另dao乙個物件a。不同之回處在於答 c 複製建構函式和 號過載問題 表述基本上沒有問bai題。從功能上來du說,建構函式是用於建立zhi物件的dao,operator其實是可以看成普通內的成員函式,只不容 過是以符號的形式代替文字...

C建構函式的過載問題,C建構函式和析構函式可以過載嗎

因為對於後者來說,當執行my class c1語句時,c1可以呼叫my class建立物件,也可以呼叫my class float x 3.5,float y 8.5 建立物件.但是這會產生兩個不同的c1物件,極易發生歧義。所以系統不知道要呼叫那個建構函式產生物件,也不會允許程式這麼做。c 建構函式...

c中建構函式和析構函式能不能被顯示呼叫

1 c 中,建構函式和析構函式可以被顯示呼叫.顯示呼叫預設建構函式的語法 a.a a 不能寫成a.a 顯示呼叫非預設建構函式的語法 a.a a 7 不能寫成a.a 7 顯示呼叫析構函式的語法 a.a a 可以寫成a.a 2 顯示呼叫建構函式和析構函式就像呼叫一般的函式一樣,並不意味著建立或銷毀物件 ...