從const成員函式返回 this

2021-06-04 17:02:40 字數 626 閱讀 6186

在普通的非const成員函式中,this的型別是乙個指向類型別的const指標,可以改變this所指向的值,但不能改變this所儲存的位址。在const成員函式中,this的型別是乙個指向const類型別的const指標,既不能改變this所指向的物件,也不能改變this所儲存的位址

不能從const所員函式返回指向類物件的普通引用。const成員函式只能返回*this作為乙個const 引用。

#include

#include

using namespace std;

class screen

screen():m_x(1),m_y(1){}

screen& setx(double x)

screen& sety(double y)

const screen& display(void)const

{cout<<"const screen"<<" "《上面那個類的display函式只是輸出兩個座標,一般這種函式都宣告為const。但是如果我們如果想把display嵌入到乙個長表示式中,display就必需是非const的。如scr.setx(2).display(),在這裡display()必需是非const的。那麼如果我們想使用這種長表示式,就必需過載display()。

返回 this 的成員函式以及 const過載

1.非常量成員函式返回非常量 this,常量成員函式返回常量 this,指向常量物件。2.過載函式必須引數數量或者型別不同嗎?答案是 否。還存在一種const過載 person.h pragma once include include include using namespace std cla...

const成員函式

prime c 在類sales item中,same isbn函式定義如下 bool sales item same isbn const sales item rhs const const 成員函式的引入 跟在 sales item 成員函式宣告的形參表後面的 const 所起的作用了 cons...

const成員函式

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