如果不希望某個物件的值被改變,則定義該物件的時候可以在前面加 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物件的資料成員在物件壽命週期...