C++語言概述 (轉)
C++語言是一種應用較廣的面向的設計語言,使用它可以實現物件導向的程式設計。物件導向的設計與程式導向的設計是有很大區別的,物件導向的程式設計是在程式導向的程式設計的基礎上一個質的飛躍。要學會物件導向的程式設計,首先要學會一種物件導向的語言,即要學會用VC,就要先有C++的基礎,而學習C++語言首先要認識它物件導向的特性和實現物件導向的方法。 :NAMESPACE PREFIX = O />
C++是一種物件導向的程式設計語言
當你首次學習C++時,總會碰到一些在C語言從未見過的概念,如:類、物件、抽象、封裝、繼承、多型性、虛等等。這些概念是C++所具有,下面簡單的介紹一下C++對物件導向程式設計方法的支援和實現。
1、C++支援資料封裝
支援資料封裝就是支援資料抽象。在C++中,類是支援資料封裝的工具,物件則是資料封裝的實現。程式導向的程式設計方法與物件導向的程式設計方法在對待資料和函式關係上是不同的,在物件導向的程式設計中,將資料和對該資料進行合法操作的函式封裝在一起作為一個類的定義,資料將被隱藏在封裝體中,該封裝體透過操作介面與外界資訊。物件被說明具有一個給定類的變數,類類似於C語言中的結構,在C語言中可以定義結構,但這種結構中包含資料,而不包含函式。C++中的類是資料和函式的封裝體。在C++中,結構可作為一種特殊的類,它雖然可以包含函式,但是它沒有私有或保護的成員。
2、C++類中包含私有、公有和保護成員
C++類中可定義三種不同訪控制的成員。一種是私有(Private)成員,只有在類中說明的函式才能訪問該類的私有成員,而在該類外的函式不可以訪問私有成員;另一種是公有(Public)成員,類外面也可訪問公有成員,成為該類的介面;還有一種是保護(Protected)成員,這種成員只有該類的派生類可以訪問,其餘的在這個類外不能訪問。
3、C++中透過發關訊息來處理物件
C++中是透過向物件發關訊息來處理物件的,每個物件根據所接收到的訊息的性質來決定需要採取的行動,以響應這個訊息。響應這些訊息是一系列的方法,方法是在類定義中使用函式來定義的,使用一種類似於函式的機制把訊息傳送到一個物件上。
4、C++中允許友元破壞封裝性
類中的私有成員一般是不允許該類外面的任何函式訪問的,但是友元便可打破這條禁令,它可以訪問該類的私有成員(包含資料成員和成員函式)。友元可以是在類外定義的函式,也可以是在類外定義的整個類,前者稱友元函式,後者稱為友元類。友元打破了類的封裝性,它是C++另一個物件導向的重要牲。
5、C++允許函式名和運算子過載
C++支援多型性,C++允許一個相同的識別符號或運算子代表多個不同實現的函式,這就稱識別符號或運算子的過載,可以根據需要定義識別符號過載或運算子過載。
6、C++支援繼承性
C++中可以允許單繼承和多繼承。一個類可以根據需要生成派生類。派生類繼承了基類的所有方法,另外派生類自身還可以定義所需要的不包含在父類中的新方法。一個子類的每個物件包含有從父類那裡繼承來的資料成員以及自己所特有的資料成員。
7、C++支援動態聯編
C++中可以定義虛擬函式,透過定義虛擬函式來支援動態聯編。
以上是所講的是C++對物件導向程式設計中的一些主要特徵的支援。
C++的詞法及詞法規則
1、C++的字符集
字元是一些可以區分的最小符號。C++的字符集由大小寫英文字母(a-z和A-Z)、資料字元(0-9)、特殊字元(空格,!,#,%,^,&,*,_,,?,,,)組成。
2、單詞及詞法規則
單詞又稱詞法記號,它是由若干個字元組成的具有一定意義的最小詞法單元。C++共有6種單詞,分別是:識別符號、關鍵字、運算子、分隔符、常量、註釋符,在編碼時要特別注意這些單詞的詞法規則。要注意的是C++中的空白符:C++中經常使用空白符,實際上,空白符不是一個字元,它是空格符、換行符和水平製表符的統稱。注意,空白符不等於空格符,只是空白符包含空格符。還有一個空字元,要把它與空白符分開。空字元是指ASCII碼值為0的那個字元。空字元在C++中有特殊用途,用它來作為字串的結束符。存放在中的字串常量都在最後有一個結束符,即用空字元,它用轉義序列方法表示為’’。
C++程式結構的組成
C++程式結構的基本組成部分
1 預處理命令,C++提供了三類預處理命令:宏定義命令、包含命令、條件編譯命令。
2 輸入輸出,C++程式中總是少不了輸入和輸出的語句,實現與程式內部的資訊交流。特別是螢幕輸出的功能,幾乎每個程式都要用到,使用它把的結果顯示在螢幕上。
3 函式,C++的程式是由若干個檔案組成的,每個檔案又是由若干個函式組成,因此,可以認為C++的程式就是函式串,即由若干個函式組成,函式與函式之間是相對的,並且是並行的,函式之間可以呼叫。在組成一個程式的若干個函中,必須有一個main()。
4 語句,語句是組成程式的基本單元。函式是由若干條語句組成的。但是,空函式是沒有語句的。語句是由單片語成,單詞間用空格符分隔,C++程式中的語句又是以以分號結束。語句除了有語句和空語句之外,還有複合語句、分支語句、迴圈語句和轉向語句等若干類。
5 變數,多數程式都需要說明和使用變數。廣義講,物件包含了變數,即將變數也稱為一種物件,狹義講,將物件看作是類的例項,物件是指某個類的物件。
6 其他,除了以上講述的5個部分以外,還有其他組成部分。例如,符號常量和註釋資訊也是程式的一部分。C++中都儘量把常量定義為符號常量,在C++的程式中出現的是符號常量,該符號常量代表著某個確定的常量值。
C++程式的書寫格式
在程式設計時應該注意C++的書寫格式,基本原則是:一行一般寫一條語句。短語句可以一行寫多個。長語句可以一條寫多行。分行原則是不能將一個單詞分開。用雙引號引用的一個字串也最好不分開,如果一定要分開,有的編譯要求在行尾加續行符(“”)
C++程式的實現
C++源程式的實現與其他高階語言源程式實現的原理是一樣的。一般都要經過編輯、編譯、執行。其中最要的是編譯過程,C++是以編譯方式實現的高階語言。C++程式的實現,必須要使用某種C++語言的對程式進行編譯。編譯器的功能是將程式的轉換成為機器程式碼的形式,稱為目的碼;然後,再使目的碼進行連線,生成可檔案。該過程可分為三個子過程:預處理過程、編譯過程(詞法分析、語法分析、符號表、錯誤處理程式、生成目的碼)、連線過程。
Visual C++ 6.0版本是當前國內比較流行的一種C++編譯系統。
本文只對C++語言的部分內容作個簡單的介紹。相關的概念及特點,將在本欄目陸續加以介紹分析,敬請留意!同時也歡迎您來信來稿參與和交流。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988916/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java語言概述Java
- JSP 表示式語言概述JS
- 自然語言處理(NLP)概述自然語言處理
- Flutter系列之Dart語言概述FlutterDart
- 聊聊C語言/C++—程式和程式語言C語言C++
- Java開發之路—java語言概述Java
- 第二章 C語言概述C語言
- go語言編譯過程概述Go編譯
- 安全是一門語言的藝術|威脅調查分析語言概述
- C_Primer第2章 C語言概述C語言
- Java 語言概述與開發環境(1)Java開發環境
- Java 語言概述與開發環境(2)Java開發環境
- 02-Java語言概述及環境配置Java
- C++ 的指令碼語言:ChaiScriptC++指令碼AI
- 細學C++之C++語言的特點C++
- 語言模型文字處理基石:Tokenizer簡明概述模型
- Go 語言程式碼風格規範-概述篇Go
- C++語言菜鳥快速入門C++
- C++和c語言的分別C++C語言
- C/C++語言的學習方向C++
- C/C++語言精髓 *和&詳解C++
- 一、程式語言簡介與C++C++
- Java語言概述022_JVM與垃圾收集機制JavaJVM
- C++程式語言的四個準則C++
- Linux下跨語言呼叫C++實踐LinuxC++
- C++的函數語言程式設計C++函數程式設計
- Wfurent 語語法概述
- 鴻蒙HarmonyOS實戰-ArkTS語言基礎類庫(概述)鴻蒙
- 最右招聘後端開發工程師!go語言c++語言,可加微信:478202433後端工程師GoC++
- 【C語言】聊聊輾轉相除法C語言
- C++ 中 inline 用法概述C++inline
- C++程式語言的四個基本準則C++
- 【C++】 63_C語言異常處理C++C語言
- DPC++中的現代C++語言特性C++
- 多語言網站 根據使用者語言進行跳轉網站
- XPath 語法概述
- RSS 語法概述
- go語言資料型別轉換Go資料型別
- 三種語言實現快速排序(C++/Python/Java)排序C++PythonJava