C語言和C++語言的區別。
C程式語言
C語言是一種通用的高階語言,最初由Dennis M. Ritchie開發,用於在貝爾實驗室開發UNIX作業系統。C語言最初於1972年在DEC PDP-11計算機上實現。
1978年,Brian Kernighan和Dennis Ritchie製作了第一個公開發布的C語言描述,現在被稱為K&R標準。
UNIX作業系統、C編譯器以及幾乎所有UNIX應用程式都是用C語言編寫的。C語言之所以被廣泛用作專業語言,原因如下:
- 易於學習
- 結構化語言
- 生成高效的程式
- 可以處理底層活動
- 可以在各種計算機平臺上編譯
C++程式語言
C++是一種靜態型別的、編譯型的、通用的、區分大小寫的、自由格式的程式語言,支援程序式程式設計、面向物件程式設計和泛型程式設計。
C++被認為是一種**中級**語言,因為它結合了高階和低階語言的特性。
C++由Bjarne Stroustrup於1979年在位於新澤西州默裡山的貝爾實驗室開始開發,作為C語言的增強版,最初命名為“帶類的C”,後來在1983年更名為C++。
C++是C的超集,幾乎所有合法的C程式都是合法的C++程式。
**注意** - 當型別檢查在編譯時而不是執行時執行時,據說程式語言使用靜態型別。
面向物件程式設計
C++完全支援面向物件程式設計,包括面向物件開發的四大支柱:
- 封裝
- 資料隱藏
- 繼承
- 多型
區別
以下是C和C++之間的一些重要區別。
序號 | 關鍵點 | C | C++ |
---|---|---|---|
1 | 開發者 | C語言由Dennis Richie在1969-1973年間於AT&T貝爾實驗室開發。 | C++由Bjarne Stroustrup於1979年開發。 |
2 | 面向物件程式設計(OOPS) | C語言不支援面向物件程式設計的概念,如多型性、封裝和繼承。 | C++是一種面向物件程式語言,支援面向物件程式設計的概念,如多型性、封裝和繼承。 |
3 | 集合關係 | C是C++的子集。 | C++是C的超集。所有C程式碼都可以在C++中執行,但反過來則不一定。 |
4 | 關鍵字 | C語言有32個關鍵字。 | C++有52個關鍵字。 |
5 | 程序式程式設計 vs 面向物件程式設計 | C語言是一種程序式程式設計語言。 | C++支援程序式程式設計和麵向物件程式設計。 |
6 | 資料和函式 | 在C語言中,資料和函式是分開的。 | 在C++中,資料和函式作為物件封裝在一起。 |
7 | 資訊隱藏 | C語言不支援資訊隱藏。 | C++透過封裝支援資訊隱藏。 |
8 | 過載 | C語言不支援函式和運算子過載。 | C++支援函式和運算子過載。 |
9 | 函式 | C語言是函式驅動的語言。 | C++是物件驅動的語言。 |
10 | 結構體 | C語言結構體不支援定義函式。 | C++結構體支援定義函式。 |
11 | 引用變數 | C語言不支援引用變數。 | C++支援引用變數。 |
12 | 虛擬函式和友元函式 | C語言不支援虛擬函式和友元函式。 | C++支援虛擬函式和友元函式。 |
13 | 異常處理 | C語言不支援異常處理。 | C++支援異常處理。 |
廣告