成員函數可以重載嗎?

青灯夜游
發布: 2020-07-17 10:31:26
原創
5839 人瀏覽過

成員函數可以重載;但成員函數只能重載本類別的其他成員函數。類別的成員函數與普通的非成員函數以及在其他類別中聲明的函數不相關,也不能重載它們。

成員函數可以重載嗎?

成員函數可被重載

#成員函數只能重載本類別的其他成員函數。類別的成員函數與普通的非成員函數以及在其他類別中聲明的函數不相關,也不能重載它們。重載的成員函數和普通函數應用相同的規則:兩個重載成員的形參數量和類型不能完全相同。呼叫非成員重載函數所用到的函數匹配過程也應用於重載成員函數的呼叫。

定義重載成員函數

為了舉例說明重載,可以給出 Screen 類別的兩個重載成員,用於從視窗傳回一個特定字元。兩個重載成員中,一個版本傳回由目前遊標指示的字符,另一個傳回指定行列處的字元:

class Screen { public: typedef std::string::size_type index; // return character at the cursor or at a given position char get() const { return contents[cursor]; } char get(index ht, index wd) const; // remaining members private: std::string contents; index cursor; index height, width; };
登入後複製

與任意的重載函數一樣,給指定的函數呼叫提供適當數目和類型的實參來選擇運行哪個版本:

Screen myscreen; char ch = myscreen.get();// calls Screen::get() ch = myscreen.get(0,0); // calls Screen::get(index, index)
登入後複製

推薦教學:《c 影片教學

#

以上是成員函數可以重載嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!