天天看點

《C和C++程式員面試秘笈》——1.8 C++與C有什麼不同

本節書摘來自異步社群出版社《c和c++程式員面試秘笈》一書中的第1章,第1.1節,作者: 董山海,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

c和c++程式員面試秘笈

考點: c和c++的聯系與差別

出現頻率:

【答案】

c是一個結構化語言,它的重點在于算法和資料結構。對語言本身而言,c是c++的子集。c程式的設計首要考慮的是如何通過一個過程,對輸入進行運算處理,得到輸出。對于c++,首要考慮的是如何構造一個對象模型,讓這個模型能夠配合對應的問題,這樣就可以通過擷取對象的狀态資訊得到輸出或實作過程控制。

是以,c與c++的最大差別在于,它們用于解決問題的思想方法不一樣。

c實作了c++中過程化控制及其他相關功能。而在c++中的c,相對于原來的c還有所加強,引入了重載、内聯函數、異常處理等。c++更是拓展了面向對象設計的内容,如類、繼承、虛函數、模闆和包容器類等。

在c++中,不僅需要考慮資料封裝,還需要考慮對象粒度的選擇、對象接口的設計和繼承、組合與繼承的使用等問題。

相對于c,c++包含了更豐富的設計概念。

繼續閱讀