C與C++有什么區別


  • C是一個結構化語言,它的側重點在於算法和數據結構。對語言本身而言,C是C++的一個子集
  • C程序的設計首要考慮的是如何通過一個過程,對輸入進行運算處理,得到輸出。
  • 對於C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠配合對應的問題,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程控制。
  • 因此,對於C和C++而言,最大的區別在於解決問題的思想方法不一樣,C實現了C++中過程化控制及其他相關功能。而在C++中的C,相對於原來的C還有類、繼承、虛函數、模板和容器類等。在C++中不僅需要考慮數據封裝,還要考慮對象粒度的選擇、對象接口的設計和繼承、組合與繼承的使用等問題。
  • 雖說C語言是面向過程的語言,但C++並不是常言所說,是面向對象的語言,嚴格上來說,C++是面向過程與面向對象混合型語言。
  • 對於這兩個語言,我的理解如下,C語言面向過程,比如說,設計英雄聯盟時程序員要給每個英雄寫QWER四個技能,每個技能都需要一步步去寫,每個技能詳細細則都要碼出來。C++面向對象化則是英雄聯盟不只有一個英雄,而是有一百多個,每個英雄的技能都不一樣,程序員會給每個英雄一個一個給碼出來嗎?顯然不行。這時候就需要偷一點懶,看看能否批量處理,我們只需要改動其中的英雄名字和四個技能名。這一百多個角色雖然技能都各不相同,但是有一個共性,都是通過QWER四個按鍵進行釋放,所以這時候工程師們就想出來一個辦法,把它們當做一個類來處理。每當創建一個新角色時,只需要把共性部分拿出來,改一下參數就可以碼上新的內容了,所有玩家能游玩的英雄就是一個類。其實把面向對象改成面向類的話能更容易理解,畢竟C++里面就有類的使用,直接拿出名字來用不就簡單很多了嗎?非得搞得像處對象一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM