物件導向提高 常量成員函式

2021-10-05 23:02:16 字數 1276 閱讀 1959

如果不希望某個物件的值被改變,則定義該物件的時候可以在前面加 const關鍵字。

示例:

class

sample

void

setvalue()

};const sample obj;

// 常量物件

obj.setvalue ();

//錯誤 。常量物件只能使用建構函式、析構函式和 有const 說明的函式(常量方法)

注意:常量物件只能使用建構函式、析構函式和 有const 說明的函式(常量方法)

1:在類的成員函式說明後面可以加const關鍵字,則該成員函式成為常量成員函式

2:常量成員函式內部不能改變屬性的值)(靜態成員變數除外),也不能呼叫非常量成員函式(靜態成員函式除外)

3:在定義常量成員函式和宣告常量成員函式時都應該使用const 關鍵字

#include

using

namespace std;

class

sample

void

printvalue()

const;}

;void sample::

printvalue()

const

void

print1

(const sample &o)

intmain()

/*輸出結果:

5 我是常量成員函式

*/

1:兩個函式,名字和參數列都一樣,但是乙個是const,乙個不是,算過載。

1:如果乙個成員變數在前面加上mutable關鍵字,那麼可以在const成員函式中進行修改

#include

using

namespace std;

class

sample

void

printvalue()

const;}

;void sample::

printvalue()

const

void

print1

(const sample &o)

intmain()

常量物件與常量成員函式

常量物件與常量成員函式來防止修改物件,實現最低許可權原則。可以用關鍵字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 二 常量物件只能訪問常量成員函式,不能訪問...

常量成員函式

參考 常量成員函式宣告 如 int get const 規則 1.常量成員函式不修改物件。2.常量成員函式在定義和宣告中都應加const限定 3.非常量成員函式不能被常量成員函式呼叫,但建構函式和析構函式除外。4.常量 const物件 物件只能呼叫常量成員函式。const物件的資料成員在物件壽命週期...