C 中類的const成員函式和const物件

2021-07-02 00:26:28 字數 611 閱讀 5577

2.const成員函式:即普通成員函式後再加const。它可以讀取資料成員的值,但不能修改它們。若要修改

時,資料成員前必須加mutable。以指定其可被任意更改。mutable是ansic++考慮到實際程式設計時,可能一定要修改const物件中的某個資料成員而設的。const成員函式可以被相同參數列的非const成員函式過載。

3.普通物件:可以呼叫任意成員函式。見下面的例子

4.const物件:僅能呼叫const成員函式,但是建構函式和析構函式是唯一不是const成員函式卻可以被const物件呼叫的成員函式。見下面例子

常物件不能呼叫普通成員函式,但可通過普通物件呼叫常成員函式,但若成員函式是過載的,就只有常物件才能呼叫常成員函式,普通物件呼叫普通成員函式。常物件只能呼叫常成員函式

如下乙個簡單的例子

#include

using namespace std;

class aclass

;aclass::aclass(int a,int b):x(a),y(b)

void aclass::print() const

int main()

C 的const類成員函式

我們知道,在c 中,若乙個變數宣告為const型別,則試圖修改該變數的值的操作都被視編譯錯誤。例如,cpp view plain copy const char blank blank n 錯誤 物件導向程式設計中,為了體現封裝性,通常不允許直接修改類物件的資料成員。若要修改類物件,應呼叫公有成員函...

C 的const類成員函式

我們知道,在c 中,若乙個變數宣告為const型別,則試圖修改該變數的值的操作都被視編譯錯誤。例如,cpp view plain copy 01.const char blank 02.blank n 錯誤 物件導向程式設計中,為了體現封裝性,通常不允許直接修改類物件的資料成員。若要修改類物件,應呼...

C 類的const成員函式

我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是 唯讀 函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值...