c 和c的區別

2021-10-02 14:31:56 字數 1087 閱讀 4558

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機 ...