[問題] ACM10018與運算子重載

看板C_and_CPP (C/C++)作者 (....)時間13年前 (2012/09/11 14:35), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) none 問題(Question): http://www.csie.ntu.edu.tw/~b98902115/uva/homework/homework/q10018.htm 這題其實算簡單題, 只是我想修正我的程式碼"風格",多多採用C++ Primer書中的建議 讓我的程式碼比較漂亮一點 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/AzK3X 上面這是第一次解的程式碼,用了很多個new,然後很雜亂 經過修正以後以下是有C++ style的程式碼 http://ideone.com/8xV73 我現在的疑問在 BigInt operator+(const BigInt& lhs,const BigInt& rhs) { // BigInt* ret= (&lhs)->add(&rhs); // return (*ret); ////////////////////////////////////// ...} 這個函式的宣告是照著C++ Primer 中文版518頁的建議寫的,應該是沒有什麼問題才是... 但是如果我想應用舊版本的BigInt::add()函式,編譯器都會噴C2662的compile error 有沒有什麼好辦法可以避開C2662? 問題好像有點長...感恩各位.. 補充說明(Supplement): -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.81.121

09/11 14:48, , 1F
add不是const func,const BigInt不能呼叫它
09/11 14:48, 1F

09/11 15:06, , 2F
1.BigInt* add(const BigInt* that) const;
09/11 15:06, 2F

09/11 15:06, , 3F
2.BigInt operator+(BigInt& lhs, BigInt& rhs)
09/11 15:06, 3F
文章代碼(AID): #1GJjkp90 (C_and_CPP)
文章代碼(AID): #1GJjkp90 (C_and_CPP)