【知識總結】
運算符的重載實質上就是為某一要用的運算符賦予一定的功能,使其實作自己要實作的運算。運算符的重載可讀性強!
在實作友元函數時括号内忘了該怎麼正确書寫,最後出了好多錯誤啊!不過我感覺它出的值,下次就記住了,不會再犯這樣的錯誤了!
在編寫此程式時,要善于利用已實作的運算符功能,此外,要善于利用this指針。
在編寫過程中要善于撞錯,會有利于自己以後少出錯!
為什麼在比較大小的時候不能用兩個分數直接做差判斷是否大于零啊?【你的想法灰常好,可以這樣做】
定義了運算符的重載感覺c++的功能更強大了。【學會了,你也更強大了。】
c2.get_add() =get_add()+c.get_add() ; 是函數和函數不能運算嗎??? 【c2.get_add() =get_add()+c.get_add() ; 函數名就取得讓人一頭霧水。關鍵在于函數調用不能作為指派運算的左值。c2.get_add() 本身是要傳回值的,你還給它硬指派。你讓鉛球喝稀飯,可能嗎?】
通過函數定義實作運算符的重載,可見在大的工程中會是使用者程式易于編寫、閱讀和維護。在我們現在的程式中雖然這種優越性展現不出來,但卻是為以後打基礎·····【現在做的,已經是大工程中追求的了。要看到自己開始推這扇門了……】
這個程式有點長但是不算難,有很多步驟都是重複的 ,隻要有耐心,做出來還是很簡單的。【你的體會是對的,長而不難,但這個長對你們的意義也不小。】
寫了這麼多!!!快累死了【我百感交集哪!】
代碼太長了,雖然不難,但打的很辛苦!【這也是基本功。】
老師在取負運算符中時都取負還是隻有一個取負?【我做錯了,原文中加了注釋。】
運算符的重載竟使類的功能如此強大呀!!【類中還有更精彩的呢】
【程式設計感悟】
寫完程式改錯已成習慣,如果沒錯會顯得不自然。筆試該咋辦呢?? 【有友善機時,會對機器産生依賴。這是對的。但作為一種修為,出手就對,慢慢實作。我強調提前準備,一是為了效率,也是希望同學對機器的依賴少一些。】
沒有找到什麼原因,出來的結果最後三個不大對....還請那位仁兄幫幫忙..【我沒有時間給你看了,向老雷學習,論壇上發貼求助吧。】
昨晚第二個感覺第三個比較輕松一些,同時在做第三個任務的時候,想到第二個任務中有些漏洞,并及時的改正過來了,感覺。。。。挺好!【這種感覺好!】
額,(⊙o⊙)…這個花了點時間,還好有第五周實驗二在先,還是降低了一點難度。【有第五周實驗二在先,還是降低了一點難度。——老賀寫題目花了大量精力,學生有這樣的體會,足以告慰我于闆凳之上了。】
感言:程式設計處處要留心,就是起個檔案名也要用心。程式設計時有空就儲存一下,不然機器一出故障就全泡湯了!經曆過,感觸就是深啊【我知道發生什麼事了】
真長,但還不算太難!!
嘿嘿,看到這麼多代碼有點[嘻嘻]【看你們寫這麼長代碼,内心複雜……】
看了幾位csdn同志的部落格,突然覺得自己的感言完全不是賀老師要求的那類型的。感覺好像是獲獎之後的獲獎感言,是以從這次開始,小張同學要改一改風格。感言就要有個感言的樣子。【由感而發的東西記錄下來,那是一筆财富,要繼續。能在技術上及時做些總結,當然也很好。老賀兩個都愛看到。】
自己悶着腦袋做出來的很爽。【拿被子悶,還是拿别的?】
我終于在周六發了一篇,打破了自己的心理障礙,戰勝了自己。
程式員還真不是好當的?【現在是手熟的過程,之後,你會感歎,惟……爾。】
不敢說自己都已經掌握但是了解更多,自己又進了一步,不敢想一步追上前面的同學,但是希望自己每天都有進步!!總有一天我會趕上甚至超過。【那時,惟一需要超越的是自己】
當我興緻沖沖的把這個程式寫完,寫第三個的時候,難題來了,不明白呀不明白,在反複的翻書下還是沒有解決,算了明天問同學吧,但是俺是不會放棄的,能打敗俺的程式還沒有誕生了,吼吼···
還是應了老師你的那句話,任務不多了,代碼開始越來越長啦~~~大毛病不多,小問題不斷,程式員最重要的是認真那!!!【這周我很欣慰——你們真的被我練出來了。】
首先,看到這麼長的程式能寫出來心裡還是很高興的(雖然技術含量不是很高)。昨晚聽了老師您的講解,感覺自己做的是很麻煩,沒有用上前面已經定義好了的重載運算符。。我想這是這個程式中我最需要改變的。。因為事先已經把這個程式快寫完了,是以也沒采用老師您的方法。。但是我了解了您的思路了。。。【用自己的方法做,再加上理性的反思,是更有成效的學習。】
函數重載也就是比着葫蘆畫個瓢,會個成員函數,再用友元函數啥的又算是溫故了一番。【終歸有瓢了】
我想這種思想不僅用于程式設計,生活中也一樣很實用呢。不能解決一個問題的時候,不妨換個角度思考,其實路有很多條,不要在一棵樹上吊死(還是歪脖樹。。。)【吊死的全死在歪脖樹上,直的沒法吊。】
【老賀由感而發】
【經曆了代碼行數的考驗。】
【好同學啊,老師讓你們受累了。】
【就這樣學下去,還有什麼能阻擋你呢?】
【嚴厲譴責深夜調程式的行為,不要養成這個習慣,将作息時間安排好。再者,是否擾民?哥們都不得好睡,對吧。】
【昨晚看時,你尚未送出,甚是記挂。看到你的進步,偶也就放心了。繼續!】
【我刮目相看,眼框都疼了……】
【徐童鞋專欄】
個人覺得難點有兩個,一是怎樣将實際問題和代碼相結合,也就是把自然語言變成計算機語言,分數的計算,我們是都相當熟悉的,問題就是怎樣用計算機來實作了,這個對于現在的我們來說應該還好,還是可以應對的,其二在于,實作分數的化簡上,可是luck的是,這個問題在以前的實驗中有所實作,也就是第二個也不算為題了,綜上所述。這個任務,我們可以很順暢的解決。再添幾句,到是挺佩服老師的,一個運算符的重載問題,老師竟然想出了那麼多“煩人”的任務,好吧,我服了。以後還要“拜托”了。【讓學生時時處在“煩”中,我之樂也。】
我承認,在我的實驗報告中經常會有一些奇怪的情況,時常會寫出一些挺長的代碼,可是,老師,不帶這樣的,還從來沒寫過那麼那麼那麼長的一坨那。算了抱怨就到這吧,還是寫點有技術性的東西好了,老師說的也沒錯,雖然代碼會很長,可是都是以前做過的東西,也有很多重複性的工作,有難住我的那,是在時間之上增加s秒和減少s秒的函數,因為考慮進位和借位的問題費了好多的功夫,結果,最後發現自己是多麼的愚蠢,呵,璇子說的沒錯,一開始就把時間都化成秒,減完之後在化回時間不就好了嘛!是以啊,還是有學到好的東西。特别的,感覺到,越是長的代碼,調理的重要性就越顯的重要,不然很容易自己把自己困住手腳,
不能動彈,是以啊,做事也好,寫代碼也好,一定要思維清晰哦。
看來老師還是不太放心那,生怕我們搞不清楚成員函數和友元函數,這不,又出了這麼一道問題,也好,熟能生巧,再一次重溫成員函數和友元函數的差別吧。順便也再看一下一般函數好了,這三種函數呀!可真讓人操心啊,你看,老師就怕帶來的旋風太大,阻礙我們這些雛鳥的順利飛行啊。不讓人省心的孩子們啊!!!!【有人還是不順,也給一些同學創造了“生巧”的機會。】
這個程式并不難,老師的目的也很明顯,想讓我們熟悉運算符的重載。整個試驗做起來沒有什麼容易失誤的地方,課本上也有很好的例題可以參考。至于運算符的重載,我倒是覺得挺像變量的引用的,隻是對象不同,引用是給變量起别名,而重載那,像是給運算符起小名,隻是稍微麻煩的是需要自己給出小名的意義,也就是運算方法。
【齊童鞋專欄】
利用上次對分數的計算,這次将運算符重載運用其中,兩個内容都進行了回顧,在這種學習新知識,回顧就知識的學習環境下,我能很好跟上大家的步伐,即使上次可能不會的知識,經過這次運用就能加深印象,甚至更明白,哈哈哈·····這種感覺不賴哦~~哎呦,不錯哦~~【把這種感覺向更深遠處推……】
我們的*this指針看來還是不熟練啊,熟能生巧,看賀老現在總結的偷懶技巧果然與衆不同,深感佩服,開玩笑啦~不過,這次真的又複習了一遍*this等相關内容,今天又在昨晚賀老指點的基礎上稍作修改,運用了*this指針,這可比一段段反複來得簡單啊!其實覺得代碼長,實際上做會一個,另一個稍作修改也就出來了,嘿嘿,困難不怕大,就怕你不做,這是這次任務總結滴~~
運算符不同情況下,是不同的身份,好像在家裡我們是子女,在學校我們是學生一樣,是以,既要把子女的身份用好,也得把學生身份用好,也要清楚不同情況下各自是什麼身份······友元函數必須有兩個參數,但這個用v ·c++6.0有一個錯誤,2008打不開沒辦法做,是以,先送出了這個·······
【馮童鞋專欄】
運算符的重載這次這周進行了大量的應用,這次任務過程中出現了一個小錯誤,構造函數定義時沒有給變量賦初值,導緻出現後面函數定義時所有的cfraction c;出現no appropriate default constructor available錯誤,百度結果顯示(c++中,當你自己寫了有參數的構造函數的時候,編譯器就不會再自動提供無參數的預設構造函數,但是給參數指派後就表示一個預設的構造函數,是以可以定義類對象)也就是說定義類對象是,類的構造函數必須有一個預設的才可以。【百度是最好的老師,實際應該是:你是自己最好的老師。】
運算符的重載使我對this指針有了更進一步的了解,運算符的重載實作了類對象的相加,且前置後置加減運算符的重載使我對自加自減得認識更進一步,雖然程式量很大,但劃塊分類也是很好的,特别是看到成功的時候心裡很高興。
<全文完>