回覆列表
  • 1 # 聞雞起舞焚膏繼晷

    既然通俗易懂,我就不講概念了。做個類比吧。

    鐘錶應該都見過吧,傳統的水鍾只有一個部件,就是一個桶底部捅個孔來計時,雖然簡單有效,但是不準確,還需要經常檢查水位,一不小心,水流乾了,廢了。

    後來人們就發明了石英鐘,走時準確,而且方便,也不用加水了,但是另外一個麻煩也來了,就是零件太多,而且零件之間聯絡也大,牽一髮而動全身,損壞了維修成本很高。

    於是,人們就開始將石英鐘模組化,走時齒輪模組,電源模組,振子模組等等,讓它們即保持聯絡又相對獨立,哪個模組壞了就換個模組,不用大動干戈,這樣就既保證了走時精度,又保證了維修方便,同時降低了維護成本。

    c++建構函式與此同理,啥東西都塞到主函數里,一個大程式幾百萬行,除bug很難找,弄不好還會導致程式碼重寫,牽一髮而動全身,好容易編了幾個月,弄不好一夜回到解放前——這誰受得了?

    後來人們就把程式模組化——就是構造了幾個功能函式——有負責計算的,有負責吃飯的,有負責撩妹的……扯遠了,哈哈~

    這樣大家各司其職,壞了也不用重寫全部程式碼,而且便於大家分工——你負責編寫計算模組(函式),我負責編寫比大小的函式,一個大程式分成很多模組功能函式,查錯方便,編譯獨立,維護成本低,何樂而不為?

  • 2 # 編碼之道

    在解釋你的問題之前,先引入兩個概念類和物件,下面再做通俗的解釋。

    類是一個抽象的概念,是對一個種類的事物的總稱,比如汽車就是一個類,它只是一個概念,沒有指代具體事物。而物件是具體的事物,是類的一個例項,比如你自己的汽車就是一個物件,它是一個實在的物體。

    那麼類和物件之間是什麼關係呢?類描述了構成它的部件,具有的性質,以及操作它的方法等,而物件是一個類的具體化。同樣以汽車為例,汽車類描述了製造一輛汽車需要的材料(成員變數),裝配的工序(建構函式),以及如何駕駛(成員函式)等。建構函式就是用抽象的類生成一個具體的物件的方法!

    在C++中,建構函式會在物件建立時自動呼叫,如果沒有定義建構函式,則編譯器會自動生成一個預設的建構函式。

  • 中秋節和大豐收的關聯?
  • 愛一個人久?還是恨一個人久?