為什麼void open const應改為void open

2023-01-08 04:25:40 字數 860 閱讀 2277

1樓:

原因很簡單啊。

void open()const說明是個常成員函式,而常成員函式是不能改變物件的狀態的。但是你的open函式裡有這麼一句:closed=false;這句是會改變物件的。

所以open函式定義為const就會編譯出錯。

如果一定要改的話,可以把變數closed前面加個mutable修飾符就行了。

mutable bool closed; // true 表示門關著

2樓:今人今事

void fuc1() const; //成員函式中不能修改類的成員變數

void open()裡面修改了closed

3樓:樂酷科技

#include

using namespace std;

class door // 這裡是locked

door(int n):num(n),closed(true),locked(tre){}

bool isclosed()const // 門關著時返回true,否則返回false

bool isopened()const // 門開著時返回true,否則返回false

bool islocked()const // 門鎖著時返回true,否則返回false

bool isunlocked()const

};// 門未鎖時返回true,否則返回false

// error *********found*********

void open(int num,bool closed,bool locked)

}int main()

用為什麼?為什麼?為什麼?為什麼造句

答 bai為什麼造句 1 你明 du明知道今天降溫,zhi為什麼dao不專多穿點衣服?2 你為什麼不去上體育課,說說屬理由吧!3 你為什麼不接受大家的意見,難道大家說得不對嗎?4 這是新出的 十萬個為什麼 你快買吧,不要躊躇了。5 不知為什麼,小剛近來情緒有些低落。6 老師責問王明為什麼沒來上課。7...

為什麼啊,為什麼啊,為什麼為什麼啊?

其次要明白交社保的錢分為個人部分和單位部分,即使個人自費交的社保,也分為這兩個部分,值得注意的是,退的社保都是個人繳費部分,並且會根據個人繳費部分的金額支付相應的利息,一般來說退社保並不划算,尤其是個人全額交保費的,更不划算。社保斷繳後以前所繳的錢不會白交,但是斷繳後,影響最大的是養老保險和醫療保險...

為什麼為什麼為什麼?為什麼明明是我提的分手現在卻是我很難受我不想分開

看你的名字你應該是個女孩吧 前幾天我剛失戀了.我是男孩 我在國外她在國內.我們交往到分手的那一天 有1年3個月了.5個月前我來到阿根廷.我相信過她說的 她會等我.可是還是分手了.原因是什麼 她不告訴我.我只是知道她有男朋友了 而且那男的比她大4歲.我好難過.好難過.她真的讓我很傷心.既然你很愛他.卻...