一:常物件:time const t1(12,23,23);
其中所有的值不能被修改。通過該物件只能呼叫它的常成員函式,而不能呼叫它的普通成員函式。以防普通成員函式會修改資料成員的值。但如果一定要修改常物件資料成員的值,可以將該資料成員宣告為mutable,如:
mutable int count;//把count宣告為可變的資料成員,這樣就可以用生命為const的成員函式改變它的值。
二:常資料成員:
只能通過其建構函式的引數初始化列表對常資料成員進行初始化。
三:常成員函式:
只能引用本類中的成員,而不能修改它們的值。一般格式為:void get_time() const;
在宣告和定義時必須要有const關鍵字,在呼叫時可以不加const關鍵字。
四:指向物件的常指標:
time *const p1=&t1;
五:指向常物件的指標變數:
const time * p=&t1;
這兩個的用法與常量指標和指標常量的用法是類似的。
注意:如果乙個物件已被宣告為常物件,只能用指向常物件的指標變數指向它,而不能用指向非const型物件的指標變數指向它。
當希望在呼叫函式時物件的值不被修改,就應該把形參定義為指向常物件的指標變數,同時用物件的位址做實參。
當直接用物件名作為形參和實參時,在函式中修改形參的值,但不會改變實參的值。
在c++物件導向設計中,經常用常指標和常引用做函式引數,可以保證資料安全並能節省空間。
常成員,常函式,常物件
知識點1.常物件中的任何型別的資料成員 無論私有還是公有 的值都不能被改變。知識點2.常物件能呼叫的 1.公有的常成員函式 2.建構函式 3.公有的靜態函式 知識點3.常物件與常成員函式只有同時存在才都有意義 知識點4.普通物件既可以呼叫常成員函式,也可以呼叫非常成員函式 知識點5.常成員函式不能更...
C 之常物件,常物件成員
一.常物件 1.常物件定義 time const t1 1,2,3 或者const time t1 2.常物件不能呼叫該物件的非const型的成員函式 系統主動呼叫的構造析構函式除外 3.常成員函式的宣告方法,後面加個const即可 void get time const 4.常物件不能修改物件內的...
常物件,常成員函式,常引用
宣告顯示 const 型別說明符 物件名 常物件的資料成員值在物件的整個生存期間不能被改變,即就是,常物件必須進行初始化,而且不能被更新。宣告形式 型別說明符 函式名 參數列 const 注意 1.在函式定義部分也需要帶const關鍵字。2.乙個常物件只能呼叫它的常成員函式,是常物件唯一的對外介面方...