官术网_书友最值得收藏!

1.1 C++簡介

C++屬于編程語言中的“王者”,也是目前軟件開發的主流語言之一。下面對C++進行簡要說明。

· 1.1.1 C++語言簡介

C++是一種面向對象的計算機程序設計語言,由美國電話電報公司(AT&T)貝爾實驗室的本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)博士在20世紀80年代初期發明并實現,最初這種語言被稱作“C with Classes”(帶類的C)。C++是C語言的繼承,進一步擴充和完善了C語言,成為一種面向對象的程序設計語言。

· 1.1.2 C++與C語言的不同

C++與C語言的主要區別如下。

1.面向過程語言和面向對象語言

C語言是面向過程語言,而C++是面向對象語言。C語言和C++的區別,也就是面向過程和面向對象的區別。面向過程編程就是分析出解決問題的步驟(功能模塊),然后把這些步驟一步一步地實現,使用的時候依次調用就可以了;面向對象編程就是把問題中的事和物抽象成各個類,然后建立對象,其目的不是完成一個步驟,而是描述對象在整個解決問題的步驟中的行為。下面,以玩五子棋游戲為例進行說明。

(1)用面向過程的思想來考慮:開始游戲,白子先走,繪制畫面,判斷輸贏;輪到黑子,繪制畫面,判斷輸贏;重復前面的過程,輸出最終結果。

(2)用面向對象的思想來考慮:先設計棋子類、棋盤系統類、規定系統類以及輸出系統類,然后構造具體對象,包括黑白雙方(兩者的行為是一樣的)、棋盤系統(負責繪制畫面)、規定系統(規定輸贏、犯規等)、輸出系統(輸出贏家)。面向對象就是實物高度抽象化(功能劃分),面向過程就是自頂向下的編程(步驟劃分)。

2.具體語言的不同

(1)關鍵字(又稱關鍵詞)不同:C語言有32個關鍵字,而C++有63個關鍵字,一些關鍵字的細微區別如下。

① struct:在C語言中,結構體struct定義的變量中不能有函數;而在C++中可以有函數(或稱為方法)。

② malloc:malloc()函數的返回值為void,在C語言中可以賦值給任意類型的指針,在C++中必須強制轉換類型,否則會報錯。

③ 結構體定義struct和類定義class:class是對struct的擴展,struct默認的訪問權限是public,而class默認的訪問權限是private。

(2)擴展名不同:C語言源文件擴展名為.c,C++源文件擴展名為.cpp。在Qt中,如果在創建源文件時什么都不給,擴展名默認是.cpp。

(3)返回值類型不同:在C語言中,如果一個函數沒有指定返回值類型,默認返回int類型;在C++中,如果一個函數沒有返回值,則必須指定為void。

主站蜘蛛池模板: 兖州市| 石楼县| 卢湾区| 和顺县| 酒泉市| 陆河县| 松滋市| 淅川县| 洛宁县| 沙洋县| 黄冈市| 九江市| 禹州市| 商城县| 驻马店市| 尉氏县| 全州县| 大邑县| 阜阳市| 启东市| 青田县| 隆昌县| 白玉县| 连江县| 富川| 大港区| 兴仁县| 慈利县| 汽车| 平邑县| 漳浦县| 会昌县| 怀柔区| 道孚县| 大石桥市| 重庆市| 定襄县| 崇信县| 安龙县| 大冶市| 元谋县|