亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

const類對象和const成員函數的用法及編程技巧

2019-11-11 05:25:16
字體:
來源:轉載
供稿:網友

一些成員函數改變對象的數據成員值,一些成員函數不改變對象得數據成員值。 例如: int Point::GetY() { return yVal; } 這個函數被調用時,不改變Point對象數據成員值,而下面的成員函數改變Point對象的數據成員值: 例如: void Point:: SetPt (int x, int y) { xVal=x; yVal=y; }

為了使成員函數的意義更加清楚,我們可在不改變對象的成員函數的函數原型中加上const說明,(實際上,任何任何不修改成員數據的函數都應該聲明為const函數,這樣有助于提高程序的可讀性和可靠性。

class Point { public: int GetX() const; int GetY() const; void SetPt (int, int); void OffsetPt (int, int); PRivate: int xVal, yVal; }; const成員函數應該在函數原型說明和函數定義中都增加const限定: int Point::GetY() const { return yVal; }

class Set { public: Set (void){ card = 0; } bool Member(const int) const; void AddElem(const int); //… }; bool Set::Member (const int elem) const { //… }

  非常量成員函數不能被常量成員對象調用,因為它可能企圖修改常量的數據成員: const Set s; s.AddElem(10); // 非法: AddElem不是常量成員函數 s.Member(10); // 正確

但構造函數和析構函數對這個規則例外,它們從不定義為常量成員,但可被常量對象調用(被自動調用)。它們也能給常量的數據成員賦值,除非數據成員本身是常量。

為什么需要const成員函數? 我們定義的類的成員函數中,常常有一些成員函數不改變類的數據成員,也就是說,這些函數是”只讀”函數,而有一些函數要修改類數據成員的值。如果把不改 變數據成員的函數都加上const關鍵字進行標識,顯然,可提高程序的可讀性。其實,它還能提高程序的可靠性,已定義成const的成員函數,一旦企圖修 改數據成員的值,則編譯器按錯誤處理。

const成員函數和const對象 實際上,const成員函數還有另外一項作用,即常量對象相關。對于內置的數據類型,我們可以定義它們的常量,用戶自定義的類也一樣,可以定義它們的常量對象。例如,定義一個整型常量的方法為:

const int i=1 ; 同樣,也可以定義常量對象,假定有一個類classA,定義該類的常量對象的方法為: const classA a(2); 這里,a是類classA的一個const對象,”2”傳給它的構造函數參數。const對象的數據成員在對象壽命期內不能改變。但是,如何保證該類的數據成員不被改變呢? 為了確保const對象的數據成員不會被改變,在C++中,const對象只能調用const成員函數。如果一個成員函數實際上沒有對數據成員作任何形式的修改,但是它沒有被const關鍵字限定的,也不能被常量對象調用。下面通過一個例子來說明這個問題:

class C { int X; public: int GetX() { return X; } void SetX(int X) { this->X = X; } }; void main() { const C constC; cout<


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91国偷自产一区二区三区的观看方式| 欧美另类69精品久久久久9999| 中文字幕日韩免费视频| 国产欧美日韩综合精品| 亚洲影视九九影院在线观看| 乱亲女秽乱长久久久| 国产精品亚洲视频在线观看| 午夜精品视频在线| 国语自产精品视频在免费| 日韩免费在线观看视频| 亚洲香蕉av在线一区二区三区| 中文字幕欧美精品日韩中文字幕| 国产一区二区三区免费视频| 久久精品国产一区| 国产精品久久久| 亚洲乱码一区av黑人高潮| 日韩精品免费综合视频在线播放| 亚洲韩国欧洲国产日产av| 国产成+人+综合+亚洲欧美丁香花| 亚洲国产成人精品久久久国产成人一区| 性色av一区二区三区在线观看| 亚洲一区二区自拍| 国产噜噜噜噜久久久久久久久| 成人信息集中地欧美| 欧美日韩中文字幕日韩欧美| 91av在线播放| 国产日韩欧美黄色| 亚洲性视频网站| 欧美另类99xxxxx| 国产97在线观看| 国产亚洲a∨片在线观看| 91福利视频网| 国产精品日本精品| 日本欧美一二三区| 国产精品成人免费视频| 国产深夜精品福利| 国产精品久久久久久久午夜| 国产视频久久久| 亚洲国产精品999| 欧美日韩免费看| 亚洲欧洲国产一区| 国产精品一二三视频| 亚洲第一中文字幕| 性色av一区二区三区红粉影视| 国产亚洲精品一区二区| 最近2019中文字幕在线高清| 亚洲国产精久久久久久久| 国产精品18久久久久久首页狼| 日韩一区av在线| 日韩亚洲一区二区| 亚洲欧美国内爽妇网| 成人激情视频在线观看| 欧美精品videos| 国产精品视频免费在线观看| 人人澡人人澡人人看欧美| 欧美激情精品在线| 久久久亚洲国产天美传媒修理工| 日韩欧美一区二区三区久久| 欧美精品videos性欧美| 亚洲国产精品va在线观看黑人| 中文字幕亚洲欧美| 91夜夜揉人人捏人人添红杏| 欧美性猛交xxxx黑人| 成人一区二区电影| 久久久久久久久久久久久久久久久久av| 亚洲精品国产美女| 精品国产一区二区三区久久狼黑人| 国产精品激情自拍| 国产精品扒开腿做爽爽爽男男| 成人精品视频久久久久| 91av在线视频观看| 欧美午夜精品久久久久久久| 欧美电影在线播放| 成人写真视频福利网| 久热精品在线视频| 国产精品96久久久久久又黄又硬| 欧美综合激情网| 91免费国产视频| 亚洲精品第一国产综合精品| 国产精品久久久久久搜索| 国产精品久久久久久久久久小说| 亚洲国产美女久久久久| 国产91精品不卡视频| 日韩欧美一区二区三区久久| 亚洲色图在线观看| 亚洲最大福利视频网站| 日韩精品有码在线观看| 国产69精品99久久久久久宅男| 国产视频精品免费播放| 午夜精品蜜臀一区二区三区免费| 中文字幕欧美精品在线| 欧美国产视频一区二区| 色先锋久久影院av| 国产一区二区三区视频在线观看| 91精品国产沙发| 亚洲精品视频在线播放| 国产精品羞羞答答| 亚洲电影免费观看高清完整版在线观看| 欧美亚洲在线视频| 91在线观看免费高清完整版在线观看| 日韩女优人人人人射在线视频| 亚洲自拍中文字幕| 啪一啪鲁一鲁2019在线视频| 国内精品久久久久影院优| 欧美xxxwww| 日本不卡视频在线播放| 国产精品一区二区av影院萌芽| 91精品在线一区| 亚洲男人天堂网站| 精品女同一区二区三区在线播放| 91九色视频导航| 亚洲乱码av中文一区二区| 久久国产精品免费视频| 影音先锋欧美精品| 国产精品影片在线观看| 97在线观看免费| 欧美影院久久久| 97精品在线视频| 欧美精品第一页在线播放| 亚洲午夜精品久久久久久性色| 国产精品成人国产乱一区| 国产成人精品免费久久久久| 91亚洲一区精品| 日韩人体视频一二区| 欧美激情久久久| 青青青国产精品一区二区| 国产精品99久久久久久久久| 高清一区二区三区四区五区| 色综合伊人色综合网| 国产精品免费久久久久影院| 欧美国产精品人人做人人爱| 国产一区二区三区久久精品| 日韩视频在线免费| 91亚洲国产精品| 亚洲国产天堂久久综合| 欧美剧在线观看| 日韩国产高清污视频在线观看| 俺去了亚洲欧美日韩| 国产精品视频网址| 日韩免费在线观看视频| 日韩电影免费观看中文字幕| 精品亚洲va在线va天堂资源站| 精品国产乱码久久久久酒店| 久久久伊人欧美| 91精品国产综合久久久久久蜜臀| 国模视频一区二区| 国产国语刺激对白av不卡| 久久久久国色av免费观看性色| 亚洲第一福利在线观看| 欧美大荫蒂xxx| 欧美日韩中文字幕| 欧美富婆性猛交| 亚洲国产高清福利视频| 亚洲第一精品自拍| 国产精品久久久久影院日本| 欧美在线观看一区二区三区| 亚洲free嫩bbb| 国产精品麻豆va在线播放| 伊人一区二区三区久久精品| 亚洲免费视频一区二区| 日韩电影中文 亚洲精品乱码| 成人网址在线观看| 中文字幕一区电影| 亚洲欧美日韩成人|