按返回類型過載我在這里讀到了幾個關于這個話題的問題,但這似乎讓我感到困惑。我剛剛開始學習C+,我還沒有學習模板或操作符重載等等。現在有一個簡單的方法來超載嗎?class My {public:
int get(int);
char get(int);}沒有模板或奇怪的行為?還是我應該class My {public:
int get_int(int);
char get_char(int);}?
3 回答

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
函數名 簡歷-修飾符 參數類型
1.3.11簽字
參與過載解析(13.3)的函數的信息:它的參數類型列表(8.3.5),如果函數是類成員,則函數本身和聲明成員函數的類的cv-限定符(如果有的話)。[.]
備選方案:
class My {public: int getInt(int); char getChar(int);};
class My {public: void get(int, int&); void get(int, char&);}

神不在的星期二
TA貢獻1963條經驗 獲得超6個贊
getChar
getInt
get()
class Proxy{ My const* myOwner;public: Proxy( My const* owner ) : myOwner( owner ) {} operator int() const { return myOwner->getInt(); } operator char() const { return myOwner->getChar(); }};

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
void get(int, int&);void get(int, char&);
- 3 回答
- 0 關注
- 465 瀏覽
添加回答
舉報
0/150
提交
取消