建構函式是乙個特殊的成員函式,名字和類名相同,建立類型別物件時由編譯器自動呼叫,雖然建構函式名稱叫做構造,但是它的主要任務是初始化物件,而不是開空間建立物件,在物件的生命週期內只呼叫一次。如果使用者沒有編寫建構函式,則編譯器和自動提供乙個無引數的建構函式,這個函式就叫預設建構函式。
建構函式其特徵如下:
1 函式名與型別名相同。
2 無返回值。
3 物件例項化時編譯器自動呼叫對應的建構函式。
4建構函式可以過載。
下面是乙個建構函式的例子:
#includeusing namespace std;
class clock ;
clock::clock(int newhour, int newminute, int newsecond):hour(newhour),minute(newminute),second(newsecond){}
clock::clock() : hour(0), minute(0), second(0) {}
int main()
void clock::showtime()
預設建構函式全預設和無參之能出現乙個,所以以下寫法是錯的:
clock(int newhour=10, int newminute=10, int newsecond=10);
clock();
有參構造與無參構造
定義person類 public class person 2.有參構造 一旦定義有參構造,無參就必須顯示定義 public person string name main函式呼叫 person person newperson 和平 system.out.println person.name 一...
有參構造與無參構造
構造方法是一種特殊的方法,它是乙個與類同名且返回值型別為同名類型別的方法。物件的建立就是通過構造方法來完成,其功能主要是完成物件的初始化。當類例項化乙個物件時會自動呼叫構造方法。構造方法和其他方法一樣也可以過載。修飾符 類名 如果開發中沒有定義無參構造方法,jvm預設給類分配乙個無參構造,形如 pu...
無參構造與有參構造
構造方法根據有無引數分為無參構造和有參構造 無參構造語句 修飾符 類名 有參構造語句 修飾符 類名 type a1,type a2.它倆構成了方法過載。區域性變數和成員變數的優先順序問題 如下述 public class dog 此時標記的name是無法賦值給name的,因為區域性變數的優先順序高於...