我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是"唯讀"函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值,則編譯器按錯誤處理。 const成員函式和const物件 實際上,const成員函式還有另外一項作用,即常量物件相關。對於內建的資料型別,我們可以定義它們的常量,使用者自定義的類也一樣,可以定義它們的常量物件。
特點:
1、非靜態成員函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤)
2、表示成員函式隱含傳入的this指標為const指標,決定了在該成員函式中, 任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);
3、唯一的例外是對於mutable修飾的成員。 加了const的成員函式可以被非const物件和const物件呼叫 但不加const的成員函式只能被非const物件呼叫
char getdata() const
拓展:c++ 函式前面和後面 使用const 的作用
1.前面使用const 表示返回值為const;
2.後面加 const表示函式不可以修改class的成員
例子:請看這兩個函式 :
const int getvalue();和 int getvalue2() const;
/*
* functionconst.h
*/#ifndef functionconst_h_
#define functionconst_h_
class functionconst ;
#endif /* functionconst_h_ */
/*
* functionconst.cpp
*/#include "functionconst.h"
functionconst::functionconst():value(100)
functionconst::~functionconst()
const int functionconst::getvalue()
int functionconst::getvalue2() const
C 函式後面加const修飾
宣告乙個成員函式的時候用const關鍵字是用來說明這個函式是 唯讀 read only 函式,也就是說明這個函式不會修改任何資料成員 object 為了宣告乙個const成員函式,把const關鍵字放在函式括號的後面。宣告和定義的時候都應該放const關鍵字。任何不會修改資料成員的函式都應該宣告為c...
C 函式後面加const修飾
宣告乙個成員函式的時候用const關鍵字是用來說明這個函式是 唯讀 read only 函式,也就是說明這個函式不會修改任何資料成員 object 為了宣告乙個const成員函式,把const關鍵字放在函式括號的後面。宣告和定義的時候都應該放const關鍵字。任何不會修改資料成員的函式都應該宣告為c...
C 中函式後面加const
我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是 唯讀 函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值...