看板 EE_DSnP 關於我們 聯絡資訊
不知道老師是要怎樣的回答 1.直接把operator <(){}刪掉 2.獻醜一下 #include <iostream> #include <iomanip> using namespace std; #define MOD 8 class A { public: A( const int x ){ _num = x; } friend bool operator < (const A a, const A b); private: int _num; }; bool operator < (const A a, const A b) { return ((a._num % MOD) < (b._num % MOD)); } int main() { A a(20); A b(30); cout << boolalpha << (a < b) << endl; system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.77.195
timrau:其實main()可以照原來的寫 因為有A(const int)存在 01/13 23:34
ric2k1:感謝, 不過說時在的充忙中題目的確出的不夠好... 01/13 23:34
ilway25:我覺得這樣就動到 main 了... 01/13 23:35
ric2k1:不去改 main() 的確會有問題, 先將題目收回改一下... 01/13 23:35
timrau:不....不會有問題啊? 01/13 23:37
ilway25:但是還是會照用 int 的 a<b 去算吧.. 不會變成A..? 01/13 23:38
timrau:好像是如同樓上說的沒錯 01/13 23:41
ric2k1:感謝樓上高手們的討論, 題目已修改, 希望比較完善一點... 01/13 23:41
ric2k1:要改 main() 也沒關係, 只要不去更改原 code 的用意就好 01/13 23:42
ilway25:不知道老師推薦 class 寫法or function.. class 會變好長 01/13 23:43
ric2k1:oker 的 class 寫法是很好的示範, 但是考試時改成 function 01/13 23:44
ric2k1:就好了... 01/13 23:46
eemingh:唉..............oker您就別再裝弱了...真是個大強者~!!! 01/14 12:31
bumpwy:不好意思想問一下,請問老師寫的到底是錯在哪裡阿? 01/14 18:48
INsoarDEEP:我看不出錯在哪裡...>"< 01/14 18:58
ShooterYang:為什麼可以overload已經存在的運算啊(int vs int)? 01/14 19:26
timrau:樓上正好指出錯誤的地方 01/14 21:14