在結構體中,資料成員預設是公有許可權,而為了避免,其中乙個初衷是資料隱藏;因此類中資料成員是私有的,程式不能直接訪問資料成員,需要設計公有的成員函式來訪問資料成員。為了避免使用者再呼叫其他成員函式之前呼叫acquire(),採用建立物件之時自動對它進行初始化----------類建構函式
```cpp
class date
private:
int _year;
int _month;
int _day;
};
這裡注意區分成員名和引數名建構函式的引數表示的不是類成員,而是賦給成員的值,因此引數名不能與成員名同名;通常做法是在資料成員名加字首或者字尾。預設建構函式是在未提供顯式初始值時,用來建立物件的建構函式;當且僅當沒有定義任何建構函式時,編譯器才會提供預設建構函式(僅有乙個預設建構函式)。
形式:
注意點:
與建構函式相反,析構函式完成清理工作;例如如果建構函式使用new來分配記憶體,則析構函式將使用delete來釋放這些記憶體。(物件生命週期結束時,編譯系統自動呼叫)形式:~stock()
特徵:
c 建構函式與析構函式
一 建構函式 c 提供建構函式來處理物件的初始化,建構函式是一種特殊的成員函式,與其他的成員函式不同,不需要使用者來呼叫他,而是在建立物件時自動執行。它的特點是 函式名和類名相同,沒有返回值,可以過載 如果程式中未宣告,則系統自動產生出乙個預設的建構函式,預設的建構函式時不帶引數的。比如 stude...
C 建構函式與析構函式
c 規定,每個類必須有預設的建構函式,沒有建構函式就不能建立物件。若沒有提供任何建構函式,那麼c 提供自動提供乙個預設的建構函式,該預設建構函式是乙個沒有引數的建構函式,它僅僅負責建立物件而不做任何賦值操作。只要類中提供了任意乙個建構函式,那麼c 就不再自動提供預設建構函式。類物件的定義和變數的定義...
C 建構函式與析構函式
建構函式 對於c 的建構函式,暫且將其分為以下幾類 1.預設建構函式 2.隱士轉換建構函式 3.拷貝建構函式 4.其它建構函式 1.預設建構函式表示沒有任何引數的建構函式,當自定義任何建構函式以後,將不再自動建立預設建構函式,當然,預設建構函式啥也不幹,程式設計師關心係數頓時大跌。關於預設建構函式還...