1.設計思想上
c++物件導向的語言
c 面向過程的結構化程式設計語言
物件導向:
封裝:把客觀事物抽象成類,每個類對自己的資料和方法進行訪問許可權保護
繼承:可使用現有類的所有功能,在無需重新編寫原來的類的情況下對這些功能進
行擴充套件。
多型:可以簡單地概括為「乙個介面,多種方法」,程式在執行時才決定呼叫的函式,
物件導向的核心,多型的目的則是為了介面重用。
面向過程:
(1)考慮的是實際地實現.
(2) 一般從上往下步步求精.
(3)最重要的是模組化的思想方法.
當程式規模不是很大時,面向過程的方法還會體現出一種優勢,因為程式的流程很清楚,
按著模組與函式的方法可以很好的組織.
2.語法上
(1)c++具有過載,繼承,多型三種特性。
(2)c++增加了許多態別安全功能(如強制型別轉換)
型別安全**指訪問被授權可以訪問的記憶體位置。
例如,型別安全**不能從其他物件的私有欄位讀取值。它只從定義完善的允許方式訪問
型別才能讀取。
c++中:
(1)操作符new返回的指標型別嚴格與物件匹配,而不是void
*;(2)c中很多以void
*為引數的函式可以改寫為c++模板函式,而模板是支援型別檢查的;
(3)引入const關鍵字代替#define constants,它是有型別、有作用域的,而#define
constants只是簡單的文字替換;
(4)一些#define巨集可被改寫為inline函式,結合函式的過載,可在型別安全的前提下
支援多種型別,當然改寫為模板也能保證型別安全;
(5)c++提供了dynamic_cast關鍵字,使得轉換過程更加安全,因為dynamic_cast比
static_cast涉及更多具體的型別檢查。
(3)c++支援正規化程式設計(如模板類,函式模板) C 和C的區別
c 與c語言的關係 1 c 繼承了所有的c特性 2 c 在c的基礎上提供了更多更好的語法和特性 3 c 的設計目標是執行效率和開發效率的統一 c 對c語言的加強 1 c 中所有的變數都可以再需要使用時再定義 如 for迴圈等中需要的變數 3 c中可以定義多個同名的全域性變數 c 不可以 4 cons...
C和C 的區別
這裡主要討論的是區別,而不是c 中有的,而c語言中沒有的東西。c 比c語言多了很多東西,最重要的當屬類 物件導向程式設計 和模板 泛型程式設計 基於泛型程式設計還引出了元程式設計 metaprogramming 等等。這裡討 共部分但是不一樣的部分 函式過載是c 支援的,c不支援 c 的函式過載在類...
C 和C的區別
c c 的聯絡 c c 區別 小知識點補充擴充套件 free 而new開闢物件陣列用的是new size 釋放的的時候是 delete 5 返回值問題,malloc開闢成功返回void 需要強轉,失敗返回null,new 成功返回物件指標,失敗丟擲異常 這就可能會提到c 的new handler機 ...