常量成員函式與常量物件

2022-05-10 15:42:12 字數 909 閱讀 8902

一、非常量物件可以訪問類的普通成員函式和常量成員函式

#include using

namespace

std;

class

stack

void push(int

nelem)

intpop()

int getcount()const

//常量成員函式

};int

main()

二、常量物件只能訪問常量成員函式,不能訪問普通成員函式

#include using

namespace

std;

class

stack

void push(int

nelem)

intpop()

int getcount()const

//常量成員函式

};int

main()

三、常量成員函式不能呼叫普通成員函式,也不能修改資料成員的值;普通成員函式可以呼叫常量成員函式

#include using

namespace

std;

class

stack

void push(int

nelem)

intpop()

int getcount()const

};int

main()

可以用下面這張圖來表示「常量物件, 普通物件, 常量成員函式, 普通成員函式」 的關係。

常量物件與常量成員函式

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

常量成員函式

參考 常量成員函式宣告 如 int get const 規則 1.常量成員函式不修改物件。2.常量成員函式在定義和宣告中都應加const限定 3.非常量成員函式不能被常量成員函式呼叫,但建構函式和析構函式除外。4.常量 const物件 物件只能呼叫常量成員函式。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...