const物件與const成員函式

2021-06-08 21:07:27 字數 430 閱讀 8005

const物件只能呼叫const成員函式:

#includeusing namespace std;

class a

{ public:

void fun()const

{ cout<<"const 成員函式!"<

但是如果把第以1個fun注釋掉就會出錯:error c2662: 「a::fun」: 不能將「this」指標從「const a」轉換為「a &」。

但是const成員函式可以被非const 物件呼叫:

#includeusing namespace std;

class a

{ public:

void fun()const

{ cout<<"const 成員函式!"<

當然非const物件可以呼叫非const成員函式。

c 中const物件與const成員函式

一些成員函式改變物件,一些成員函式不改變物件。例如 int point gety 這個函式被呼叫時,不改變point物件,而下面的函式改變point物件 void point setpt int x,int y 為了使成員函式的意義更加清楚,我們可在不改變物件的成員函式的函式原型中加上const說明...

C 中的const物件與const成員函式

在前邊幾章的內容中,我們知道c 的類中可以有const成員變數,並且還知道類中的const成員變數只能在初始化列表中初始化。同樣,在c 中,還存在const物件以及const成員函式,const修飾的物件為唯讀物件,他們的特性如下 const成員函式的定義 需要在函式的宣告及定義的後邊加上const...

const物件只能呼叫const成員函式

假設現在有如下 class test test obj1 12 obj1.print 物件呼叫成員函式時,在形參列表的最前面加乙個形參this,但這是隱式的。this指標是預設指向呼叫函式的當前物件的,所以,很自然,this是乙個常量指標test const,因為不可以修改this指標代表的位址。但...