宣告顯示:
const 型別說明符 物件名;
常物件的資料成員值在物件的整個生存期間不能被改變,即就是,常物件必須進行初始化,而且不能被更新。
宣告形式:
型別說明符 函式名(參數列)const;
注意:1.在函式定義部分也需要帶const關鍵字。
2.乙個常物件只能呼叫它的常成員函式,是常物件唯一的對外介面方式。
3.常成員函式不能更新目的物件的資料成員,因此對於無須改變物件狀態的成員函式,最好使用const關鍵字。
宣告形式:
const 型別說明符 變數名;
常資料成員在在任何函式中中都不能對該成員賦值,且建構函式對常資料成員初始化時,只能使用初始化列表。
class
expexp::
exp(
int i):a
(i)//常資料成員只能用初始化列表初始化
宣告形式:
const 型別說明符& 引用名;
注意:1.常引用所引用的物件不能被更新。
2.非const引用不能繫結到常物件,但是常引用既可以繫結常物件,也可以繫結到普通物件。
3.對於無須修改函式引數的值時,傳參方式使用常引用更好。
class
point
friend
float
caldist
(const point& p1,
const point& p2)
;private
:int x,y;};
friend
caldist
(const point& p1,
const point& p2)
//常引用做形參
常引用,常物件,常成員函式,常資料成員
常引用 形式 const 型別 物件名或變數名 常物件 形式 const 類名 物件名 1.常物件的資料成員不能被修改了,在定義的時候應該對其進行初始化 2.常物件不能夠呼叫普通成員函式 因為普通成員函式可能會修改物件的資料型別,這是不安全的。3.常物件可以呼叫靜態成員函式,常成員函式,其實也可以調...
常成員,常函式,常物件
知識點1.常物件中的任何型別的資料成員 無論私有還是公有 的值都不能被改變。知識點2.常物件能呼叫的 1.公有的常成員函式 2.建構函式 3.公有的靜態函式 知識點3.常物件與常成員函式只有同時存在才都有意義 知識點4.普通物件既可以呼叫常成員函式,也可以呼叫非常成員函式 知識點5.常成員函式不能更...
常成員函式與常物件
先明確幾個概念 1.常物件只能呼叫常成員函式。2.普通物件可以呼叫全部成員函式。3.當對乙個物件呼叫成員函式時,編譯程式先將物件的位址賦給this指標,然後呼叫成員函式,每次成員函式訪問資料成員時,由隱含使用this指標。4.當乙個成員函式被呼叫時,自動向它傳遞乙個隱含的引數,該引數是乙個指向這個成...