亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++:作用域解析運算符::

C++:作用域解析運算符::

C++
Cats萌萌 2019-03-21 10:14:13
int CBox::operator > (const CBox& aBox) const{return this->Volume() > aBox.Volume() ;}這個函數本身就在CBox類里面,為什么還得在函數頭前加上int CBox::?這不是多此一舉嗎?或者特殊的目的在里面?它是這樣的class CBox{//definition of the constructors and class members hereint CBox::operator > (const CBox& aBox) const { return this->Volume() > aBox.Volume() ; } }如果我不加CBox::絕對Okay啊,因為這函數本身就是在類CBox里面,這樣講沒錯吧?
查看完整描述

4 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

 這是為了提高代碼的可讀性?! ?br/>  作用域解析運算符::使用方法如下:
  1 域名::函數/類型定義 表示定義某個域的函數/類型
  2 ::函數/類型調用 表示調用全局的函數/類型
  補充:當函數/類型已經在某個特定域內,則可以省略域名,也可以不省略
  依據補充條件,人們往往不省略,以方便在較為復雜的文件中表明某個函數/類型所屬的域 ,增加代碼的可讀性。

查看完整回答
反對 回復 2019-03-25
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

這個::是 域運算符,是表示取 什么里面的什么東西,和點號不同,點好是
對象的,->是指針的,如果只是一個類名或者是一個命名空間,就使用::

查看完整回答
反對 回復 2019-03-25
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

CBox類里面只是函數的聲明,而int CBox::operator > (const CBox& aBox) const 才是函數的定義,定義函數的時候肯定要加上返回類型的int 另外,CBox::是說明函數的作用域,說明此函數是類CBox的成員函數.

查看完整回答
反對 回復 2019-03-25
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

這是一個類的成員函數的定義,因此這樣寫完全符合語法,但是和書上講的不同,是因為我們習慣了先入為主。

這段代碼沒有語法錯誤,只是習慣不同。

查看完整回答
反對 回復 2019-03-25
  • 4 回答
  • 0 關注
  • 1009 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號