常量成員函式

2021-08-10 17:53:01 字數 431 閱讀 2809

參考

常量成員函式宣告:如:int get() const;

規則:1.常量成員函式不修改物件。

2.常量成員函式在定義和宣告中都應加const限定

3.非常量成員函式不能被常量成員函式呼叫,但建構函式和析構函式除外。

4.常量(const物件)物件只能呼叫常量成員函式。(const物件的資料成員在物件壽命週期內不能改變,因此其只能呼叫常量成員函式)。

意義:1.使成員函式的意義更加清楚,將成員函式分修改物件和不修改物件兩類。

2.增加程式的健壯性,常量成員函式企圖修改資料成員或呼叫非常量成員函式,編譯器會指出錯誤。

原因:對於x型別的非常量成員函式而言,其this指標的型別是 x * const,該指標自身是常量;但是對於x型別的常量成員函式而言,其this指標的型別是const x * const,是乙個常量指標。

常量成員函式

class a void fun1 const error assignment of member a a in read only objectclass a void fun1 const error passing const a as this argument of void a fun...

常量物件與常量成員函式

常量物件與常量成員函式來防止修改物件,實現最低許可權原則。可以用關鍵字const來指定物件是不可修改的,任何修改該物件的企圖,都會導致編譯錯誤。例如 const time noon 12,0,0 宣告乙個 time 類的常量物件 noon 並將它初始化為中午 12點。c 不允許在常量物件上呼叫成員函...

常量成員函式與常量物件

一 非常量物件可以訪問類的普通成員函式和常量成員函式 include using namespace std class stack void push int nelem intpop int getcount const 常量成員函式 int main 二 常量物件只能訪問常量成員函式,不能訪問...