- 從零開始:Qt可視化程序設計基礎教程
- 彭凌西等編著
- 927字
- 2022-01-06 09:52:47
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。
- scikit-learn Cookbook
- Android應用程序開發與典型案例
- JavaScript:Functional Programming for JavaScript Developers
- LabVIEW入門與實戰開發100例
- Servlet/JSP深入詳解
- Building Cross-Platform Desktop Applications with Electron
- Python自然語言處理(微課版)
- Instant RubyMotion App Development
- Node.js全程實例
- iOS開發實戰:從入門到上架App Store(第2版) (移動開發叢書)
- 移動增值應用開發技術導論
- Visual FoxPro 6.0程序設計
- Mastering VMware Horizon 7(Second Edition)
- Real-time Analytics with Storm and Cassandra
- Learning RxJava