第四章:
question1:對於4.3.4中提到的折構函式和虛函式這兩個概念,我完全不知道它們是什麼。不知道它們的定義和存在的作用。
通過查詢,我知道了這兩個函式的定義和作用。析構函式名也應與類名相同,只是在函式名前面加乙個位取反符~,例如~stud( ),以區別於 建構函式。它不能帶任何引數,也沒有返回值(包括void型別)。只能有乙個析構函式,不能過載。如果使用者沒有編寫析構函式,編譯系統會自動生成乙個預設的析構函式(即使自定義了析構函式,編譯器也總是會為我們合成乙個析構函式,並且如果自定義了析構函式,編譯器在執行時會先呼叫自定義的析構函式再呼叫合成的析構函式),它也不進行任何操作。所以許多簡單的類中沒有用顯示的析構函式。c++折構函式的作用是用來完成物件被刪除前的一些清理工作,也就是專門的掃尾工作。折構函式與建構函式的作用正好相反,如果建構函式開啟了乙個檔案,最後不需要使用時檔案就要被關閉。折構函式允許類自動完成類似清理工作,不必呼叫其他成員函式。折構函式也是特殊的類成員函式。析構函式如果我們不寫的話,c++ 會幫我們自動的合成乙個,就是說:c++ 會自動的幫我們寫乙個析構函式。很多時候,自動生成的析構函式可以很好的工作,但是一些重要的事蹟,就必須我們自己去寫析構函式。 析構函式和建構函式是一對。建構函式用於建立物件,而析構函式是用來撤銷物件。簡單的說:乙個物件出生的時候,使用建構函式,死掉的時候,使用析構函式。
簡單地說,那些被virtual關鍵字修飾的成員函式,就是虛函式。虛函式的作用是允許在派生類中重新定義與基類同名的函式,並且可以通過基類指標或引用來訪問基類和派生類中的同名函式。當把基類的某個成員函式宣告為虛函式後,允許在其派生類中對該函式重新定義,賦予它新的功能,並且可以通過指向基類的指標指向同一類族中不同類的物件,從而呼叫其中的同名函式。由虛函式實現的動態多型性就是:同一類族中不同類的物件,對同一函式呼叫作出不同的響應。
第十七章:
question1:17.6中的原文有這樣一段:關於**量,作者在上課的時候給同學講了這個故事:「......**量等於樹葉量,當作如是觀。」在這個地方,按照我的認識,任何事物都是熟能生巧,**寫得越多,遇到並解決的問題便會更多,那麼為什麼這裡作者會說**量等於樹葉量呢?
或許作為程式設計師我們的思維本就不應該和常人一樣。很多時候思考問題要從專業的角度。對於普通人來說,很多事情確實是熟能生巧,做得越多便是越精通。但是寫程式不一樣,你的核心演算法和**開發策略不變,你寫再多的**,都是千篇一律,只是進行了大量的複製貼上般的操作。自己並沒有得到提公升,**水平也和以前一樣。說到底,程式開發,並不是乙個做得越多越好的事情,更多的是需要思考。**量如樹葉,我們需要思維的進步。
《構建之法》觀後感
剛開始讀 構建之法 這本書時,書上所提到的很多問題都是我們平常在寫 時候會犯的一些小的錯誤,就我個人而言,在我還沒讀 構建之法 這本書之前,我還不知道我平常在寫 中犯了這麼多的錯誤,雖然這些錯誤都是一些小錯誤,並不影響 的執行,但是看了 構建之法 這本書之後,才忽然明白原來一些小錯誤也會造成大的問題...
第五次《構建之法》觀後感
開篇就講到乙個概念即 軟體 程式 軟體工程。書中說到,程式指的是源程式,也就是基於資料結構上的實現演算法,這是我們軟體學生的基本功。程式設計師需要對 不斷編寫,程式越來越龐大,就需要源 管理。程式是要正確執行的,就需要軟體測試。我們寫的程式需要讓別人的看得懂,就得運用程式理解。程式總會出現bug,就...
作品觀後感
忙碌了好一陣子了,每個人都在為自己的作品努力著.昨天大家一起 了我們七期的作品.一直很期待大家的作品,雖然有些還未完全完成,但這些作品都體現了我們這些日子以來的進步.每個人的作品都與自己的獨特地方,新穎的想法,強大的技術支援.我們在做程式過程中學到的知識,恐怕只有自己能真正體會.在作品展示的時候,我...