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 ::函數/類型調用 表示調用全局的函數/類型
補充:當函數/類型已經在某個特定域內,則可以省略域名,也可以不省略
依據補充條件,人們往往不省略,以方便在較為復雜的文件中表明某個函數/類型所屬的域 ,增加代碼的可讀性。
- 4 回答
- 0 關注
- 1009 瀏覽
添加回答
舉報
0/150
提交
取消
