看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) iostream 問題(Question): 我是一個剛自學C++不久的新手 最近開始讀class的部份,還在想辦法摸清楚各種基本觀念及定義中 昨天讀到「宣告類別的物件陣列」這一塊 書本有給範例程式,並說要改動原本的建構函式以免編譯器和新加的建構函式搞混 但他範例程式的說明並沒有很清楚,因此我無法了解為何要如此改動 (詳見下面程式碼) 如果不照書本上的改動的話,理所當然的會有錯誤產生 自己想做其他測試時,又無法重現那些錯誤,因此不知道為何會有這些錯誤的出現 希望板友們能夠替我解惑,感謝0.0 餵入的資料(Input):預期的正確結果(Expected Output):錯誤結果(Wrong Output):程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/ZY72mfs5 詳細的問題描述在程式碼的註解裡 補充說明(Supplement): --
dreamq :+50 +20 +20 +20 +2012/07 21:04
hiphopkai :二樓帥哥12/07 21:05
a23017174 :坐等答案安定。 LOL #1EtsHO_D12/07 21:05
sniper2824 :四樓帥哥12/07 21:06
asdfgh65144 :5樓吃屎12/07 21:06
asdfgh65144 :原PO我站內信給你這種文章就不要佔版面了吧 12/07 21:07
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.10.241
asilzheng:如果第一個 cont 也給 lv 初值的話,那與 default cont 02/04 09:56
asilzheng:會混淆 另外,給初值的參數要寫後面,這樣呼叫時才知道 02/04 09:57
asilzheng:哪些是被省略的 02/04 09:58
asilzheng:cont → ctor 囧 02/04 09:58
就是這裡搞不懂0.0 為何給了lv初始值的話會和default ctor搞混?
asilzheng:當你的預設值給的不一樣的時候 用 CBox 要呼叫哪一個? 02/04 10:22
loveme00835:從呼叫的人的角度來看 02/04 10:41
慧根不足,還是無法理解...... 不是預設值原本就不一樣嗎?為什麼還是會有混淆的情況呢?
diabloevagto:你有給初值的就是可給可不給 02/04 14:21
diabloevagto:假如你有兩個A(i=0,j=0)跟A(void) 02/04 14:22
diabloevagto:前面那個A後面兩個參數可以不用給 02/04 14:22
diabloevagto:假如你今天呼叫A(),那你要呼叫前面還是後面? 02/04 14:22
diabloevagto:就理論上,兩個都是可行的,這就是混亂的點 02/04 14:23
好像有點理解了...... 以後有遇到類似的問題應該可以更了解吧?
EdisonX:另,google「Overload Resolution,重載決議三步驟」 02/04 14:47
EdisonX:找不到的話借本 C++ Primer 翻翻 function 章節。 02/04 14:48
翻了一下精華區的書籍推薦又查了一下網路之後,似乎這本是人人推薦的書 就直接買一本好了._.
EdisonX:4e / 5e 差很多,英文基本字彙看得懂的話,直接買 5e. 02/04 15:11
請問主要是差在哪裡呢0.0? 因為還有課業進度壓力,如果不會差太多的話,個人想說中文看起來會快很多
EdisonX:扣除編排5e更好外,差在 4e 沒有 C++ 11,這差很大!! 02/04 15:37
正在維基上面查C++ 11的資料,嗯......OAO 乾脆兩種都各買一本好了~"~
purpose:當年學校教C++的老師,只會舊版C++,連namespace都不知道 02/04 17:03
purpose:你用C++11這種新東西,說不定老師也不懂 02/04 17:04
o_Oa......
diabloevagto:直接買5E,兩本差太多,根本是不同的書 02/04 17:59
diabloevagto:英文就邊查邊看吧,不然中文版的字彙翻譯有些怪怪 02/04 18:00
james732:lambda不知道會被翻譯成什麼樣子...匿名函式?(不太對) 02/04 18:18
suhorng:感覺不要翻比較合理?也沒有人把α、β翻成中文的 02/04 18:19
o07608:阿爾法、貝塔(咦) 02/04 18:22
EdisonX:中文也一律都叫 lambda 表達式, 應該沒人翻吧 02/04 18:46
EdisonX:不過 purpose 大說的可能也是一個問題, C++11 還不夠普及. 02/04 18:47
azureblaze:就翻成入表達式吧XD 02/04 18:54
coolcomm:樓上XD 02/04 19:16
james732:入表達式 XDDDDD 02/04 19:18
我還想說為啥是成人表達式 ._.
EdisonX:哈,推 成人表達式 ,讚! 02/04 20:00
CP64 02/04 20:16
BlazarArc:成人表達式 XD 02/04 20:39
james732:成人表達式太好笑了 XDDDDDDDD 02/04 21:18
maerdimer:推成人表達式 XDDDD 02/04 22:08
azureblaze:譯名越來越好了誰快去寫書吧 02/04 22:28
《The Essential C++ for PTT User》 ※ 編輯: o07608 來自: 114.27.10.241 (02/04 23:05)
loveme00835:EdisonX 大神請受小弟一拜... m(_ _)m 02/05 01:56
EdisonX:@@ 我只是鳥仔屎,倒是版上不少大神都讓我崇拜 :) 02/05 11:06