天天看點

C++的const的成員函數

我們定義的類的成員函數中,常常有一些成員函數不改變類的資料成員,也就是說,這些函數是"隻讀"函數,而有一些函數要修改類資料成員的值。如果把不改變資料成員的函數都加上const關鍵字進行辨別,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成const的成員函數,一旦企圖修改資料成員的值,則編譯器按錯誤處理。 const成員函數和const對象 實際上,const成員函數還有另外一項作用,即常量對象相關。對于内置的資料類型,我們可以定義它們的常量,使用者自定義的類也一樣,可以定義它們的常量對象。

1、非靜态成員函數後面加const(加到非成員函數或靜态成員後面會産生編譯錯誤)

2、表示成員函數隐含傳入的this指針為const指針,決定了在該成員函數中, 任意修改它所在的類的成員的操作都是不允許的(因為隐含了對this指針的const引用);

3、唯一的例外是對于mutable修飾的成員。加了const的成員函數可以被非const對象和const對象調用,但不加const的成員函數隻能被非const對象調用

char getData() const{         
		return this->letter;
}
           

c++ 函數前面和後面 使用const 的作用:

  • 前面使用const 表示傳回值為const
  • 後面加 const表示函數不可以修改class的成員