[問題] 運算子多載編譯失敗
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev-C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
no
問題(Question):
欲在類別外多載運算子"+" 卻編譯失敗
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
'int CWin::width' is within this context
'int CWin::height' is within this context
程式碼(Code):(請善用置底文網頁, 記得排版)
http://pastie.org/2059688
補充說明(Supplement):
限定在類別外以一般函數之方式多載運算子
是否因為'width' 'height'是屬於private,所以無法在類別外存取?
那該如何修改多載函數呢?
請各位先進不吝指教<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.96.186
→
06/13 16:23, , 1F
06/13 16:23, 1F
→
06/13 16:24, , 2F
06/13 16:24, 2F
請問哪個地方改成public? 參照修改CWin& operator+(...)後還是一樣耶ˊˋ
※ 編輯: jojowolf 來自: 122.147.96.186 (06/13 16:37)
→
06/13 17:14, , 3F
06/13 17:14, 3F
→
06/13 17:15, , 4F
06/13 17:15, 4F
放在public內的方式可行....,不過那是書本的上一題,done....
這一個題目是說:限定使用一般函數寫法
小弟的code應該是函數哪邊語法錯誤,翻書還是找不到....Q_Q
※ 編輯: jojowolf 來自: 123.240.195.102 (06/13 18:54)
推
06/13 20:37, , 5F
06/13 20:37, 5F
→
06/13 20:53, , 6F
06/13 20:53, 6F
→
06/13 21:26, , 7F
06/13 21:26, 7F
→
06/13 23:50, , 8F
06/13 23:50, 8F
→
06/13 23:53, , 9F
06/13 23:53, 9F
→
06/13 23:55, , 10F
06/13 23:55, 10F
→
06/13 23:55, , 11F
06/13 23:55, 11F
→
06/13 23:56, , 12F
06/13 23:56, 12F
→
06/14 10:03, , 13F
06/14 10:03, 13F
→
06/14 10:03, , 14F
06/14 10:03, 14F
這麼做http://pastie.org/2070620
連結的code就是把原本在類別內的第一個、第二個operator>()函數,改寫在類別外
連結的code是已經編譯完成且可以執行
我不懂的地方就是在類別外的函數,回傳CWin類別物件wina,winb的area比較值:
22 return(wina.area()>winb.area());
既然可以return呼叫類別內函數,那為什麼原文貼的code無法執行物件的資料比較呢?
還是說,函數傳回類別,就必須要使用範疇或是友誼函數嗎?
但是書本給的題目的確是"請用一般函數多載運算子".....
另外請教angleevil大大,firejox是什麼?@@看不懂
※ 編輯: jojowolf 來自: 122.147.96.252 (06/15 13:35)
→
06/15 16:49, , 15F
06/15 16:49, 15F
→
06/15 19:44, , 16F
06/15 19:44, 16F
→
06/15 21:37, , 17F
06/15 21:37, 17F
→
06/15 21:38, , 18F
06/15 21:38, 18F
→
06/15 22:28, , 19F
06/15 22:28, 19F
→
06/15 22:29, , 20F
06/15 22:29, 20F
→
06/15 22:32, , 21F
06/15 22:32, 21F
→
06/16 08:31, , 22F
06/16 08:31, 22F
→
06/16 08:32, , 23F
06/16 08:32, 23F
→
06/16 08:33, , 24F
06/16 08:33, 24F
→
06/16 08:36, , 25F
06/16 08:36, 25F
我寫信給原作者了...他說他這兩天忙完會回答我
人很好~很有禮貌~大推---C++教學手冊 2/e 作者:洪維恩
※ 編輯: jojowolf 來自: 122.147.98.22 (06/16 12:08)
→
06/16 13:17, , 26F
06/16 13:17, 26F