建構函式用於建立類物件,初始化其成員。
析構函式用於撤銷類物件。
若物件定義時若未顯式初始化,與變數類似,全域性物件和靜態物件在定義時初值為0,區域性物件在定義時初值為不確定的值。一旦建立乙個物件,物件通常都需要有乙個有意義的初值。
1.在類中定義乙個具有初始化功能的成員函式。每當建立乙個物件時,就呼叫這個成員函式,實現初始化。
例項
#include using namespace std;
class computer//計算器類定義
void show();
void init()
};void computer::show()//成員函式類外定義
void show();
computer(int b,char d,int c)
};void computer::show()//成員函式類外定義
2、使用函式體前的初始值表,例如:
computer(int b,char d,int c):op1(b),ch(d),op2(c)
this指標
在每個類的成員函式中,都隱含了乙個this 指標,該指標指向正在呼叫成員函式的物件。如下所示:
computer(int op1,char ch,int op2)
computer建構函式中:3個形參與資料成員同名,所以使用this指標進行區別。如果不同名,可以不用this指標進行區分。類的其他成員函式碰到形參與資料同名的情況,也用this指標進行同樣的區分。
無參建構函式進行物件初始化的例項#include using namespace std;
class computer//計算器類定義
void show();
computer(int b,char d,int c)//帶參建構函式
computer()//無參建構函式 };
//建構函式過載。c++ 根據物件定義時所帶引數型別和個數選擇合適的建構函式
void computer::show()//成員函式類外定義
void show();
computer(int b=3,char d='+',int c=5)//帶預設值的建構函式
};//帶參建構函式和無參建構函式可以合併定義,用乙個帶預設值的建構函式定義即可
void computer::show()//成員函式類外定義
C 程式設計學習筆記 複習 拾遺 3
例4.1 類中資料成員是字串 include include 字串函式宣告所在的標頭檔案 string類是c 提供的字串類,其主要功能是對字串進行操作。string類定義的變數稱為字串物件,該物件可以直接用字串常量賦值,也可呼叫string類中定義的成員函式。例4.2 連線字串例項 include ...
C 程式設計學習筆記 複習 拾遺 5
封裝性 物件的狀態資訊隱藏在物件內部,不允許外部程式直接訪問物件內部資訊,而是通過該類所提供的方法來實現對內部資訊的操作與訪問。類外如何訪問被封裝的成員 private 和 protected成員 通過物件名.公有成員函式 良好的封裝性,考慮角度 將物件的成員變數與實現細節隱藏起來,不允許外部訪問。...
C 程式設計學習筆記 複習 拾遺 9
c 中有兩種繼承 單一繼承和多重繼承。對於單繼承,派生類只能有乙個基類 對於多繼承,派生類可以有多個基類。乙個類從多個基類派生的一般形式是 class 類名1 訪問控制 類名2,訪問控制 類名3 訪問控制 類名n 類名1繼承了類名2到類名n的所有資料成員和成員函式,訪問控制用於限制其後的類中的成員在...