C 之常物件,常成員物件,常成員函式,常指標

2021-07-28 20:07:53 字數 733 閱讀 3625

一:常物件: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.乙個常物件只能呼叫它的常成員函式,是常物件唯一的對外介面方...