構造函數用於執行類的實例的初始化。每個類都有構造函數,即使我們沒有聲明它,編譯器也會自動為我們提供一個默認的構造函數。在訪問任何一個類的時候,系統將最先執行構造函數中的語句。實際上,任何構造函數的執行都隱式地調用了系統提供的默認的構造函數base()。
如果我們在類中聲明了如下的構造函數,
C(...){...}
它等價於:
c(...):base(){...}
使用構造函數請注意以下幾個問題:
●一個類的構造函數通常與類名相同。
●構造函數不聲明返回類型。
●一般地,構造函數總是public類型的。如果是private類型的,表明類不能被實例化,這通常用於只含有靜態成員的類。
●在構造函數中不要做對類的實例進行初始化以外的事情,也不要嘗試顯式地調用構造函數。
下面的例子示范了構造函數的使用:
class A { int x=0,y=0,count; public A(){ count=0; } public A(int vx,int vy){ x=vx; y=vy; } }