C語言和C++

   學過C語言和C++的人肯定知道兩者是有區別的,看過很多關於C++書籍C語言學習資料,也參考過一些C++學習網站,其實C語言和C++還是有很多區別的,總結一下這兩者具體有什麼樣的區別吧!(上網查過很多,我覺得容易一幕瞭然的就放着裏面了,大家一起看看吧!)

C語言與C++的區別有很多:

1.繼承:C++支持多繼承,C語言類只能繼承一個基類中的實現但可以實現多個接口。

2.數組:聲明 C語言數組和聲明 C++ 數組的語法不同。在 C語言中,“[]”標記出現在數組類型的後面。  

3.數據類型:在C++中bool類可以與整型轉換,但C語言中bool 類型和其他類型(特別是 int)之間沒有轉換。long 類型:在 C語言中,long 數據類型爲 64 位,而在 C++ 中爲 32 位。

4.struct 類型:在 C語言中,類和結構在語義上不同。struct 是值類型,而 class 是引用類型。

5.switch 語句:與 C++ 中的 switch 語句不同,C語言不支持從一個 case 標籤貫穿到另一個 case 標籤。

6.delegate 類型:委託與 C++ 中的函數指針基本相似,但前者具有類型安全,是安全的。

7.從派生類調用重寫基類成員。 base  

8.使用 new 修飾符顯式隱藏繼承成員。

9.重寫方法需要父類方法中用virtual聲名,子類方法用override 關鍵字。  

10.預處理器指令用於條件編譯。C語言中不使用頭文件。 C語言預處理器指令  

11.異常處理:C語言中引入了 finally 語句,這是C++沒有的。  

12.C語言運算符:C語言支持其他運算符,如 is 和 typeof。它還引入了某些邏輯運算符的不同功能。  

13. static 的使用,static方法只能由類名調用,改變static變量。  

14.在構造基類上替代 C++ 初始化列表的方法。

15.Main 方法和 C++ 及Java中的 main 函數的聲明方式不同,Main而不能用main

16.方法參數:C語言支持 ref 和 out 參數,這兩個參數取代指針通過引用傳遞參數。  

17.在 C語言中只能在unsafe不安全模式下才使用指針。  

18.在 C語言中以不同的方式執行重載運算符。

19.字符串:C語言字符串不同於 C++ 字符串。

20.foreach:C語言從VB中引入了foreach關鍵字使得以循環訪問數組和集合。  

21.C語言中沒有全局方法和全局變量:方法和變量必須包含在類型聲明(如 class 或 struct)中。  

22.C語言中沒有頭文件和 #include 指令:using 指令用於引用其他未完全限定類型名的命名空間中的類型。  

23.C語言中的局部變量在初始化前不能使用。  

24析構函數:在 C語言中,不能控制析構函數的調用時間,原因是析構函數由垃圾回收器自動調用。 析構函數  

25構造函數:與 C++ 類似,如果在 C語言中沒有提供類構造函數,則爲您自動生成默認構造函數。該默認構造函數將所有字段初始化爲它們的默認值。  

26.在 C語言中,方法參數不能有默認值。如果要獲得同樣的效果,需使用方法重載。


另外也有區別是這樣說的:

1,全新的程序程序思維,C語言是面向過程的,而C++是面向對象的。

2,C語言有標準的函數庫,它們鬆散的,只是把功能相同的函數放在一個頭文件中;而C++對於大多數的函數都是有集成的很緊密,特別是C語言中沒有的C++中的API是對Window系統的大多數API有機的組合,是一個集體。但你也可能單獨調用API。

3,特別是C++中的圖形處理,它和語言的圖形有很大的區別。C語言中的圖形處理函數基本上是不能用在中C++中的。C語言標準中不包括圖形處理。

4,C和C++中都有結構的概念,但是在C語言中結構只有成員變量,而沒成員方法,而在C++中結構中,它可以有自己的成員變量和成員函數。但是在C語言中結構的成員是公共的,什麼想訪問它的都可以訪問;而在VC++中它沒有加限定符的爲私有的。

4,C語言可以寫很多方面的程序,但是C++可以寫得更多更好,C++可以寫基於DOSr程序,寫DLL,寫控件,寫系統。

5,C語言對程序的文件的組織是鬆散的,幾乎是全要程序處理;而c++對文件的組織是以工程,各文件分類明確。

6,C++中的IDE很智能,和VB一樣,有的功能可能比VB還強。

7,C++對可以自動生成你想要的程序結構使你可以省了很多時間。有很多可用的工具如加入MFC中的類的時候,加入變量的時候等等。

8,C++中的附加工具也有很多,可以進行系統的分析,可以查看API;可以查看控件。

9,調試功能強大,並且方法多樣。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章