[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > C/C++ > 正文
C++語言概述
本文出自:http://www.asfocus.com 作者: (2002-02-05 06:15:01)
    C++語言是一種應用較廣的面向對象的程序設計語言,使用它可以實現面向對象的程序
設計。面向對象的設計與面向過程的設計是有很大區別的,面向對象的程序設計是在面
向過程的程序設計的基礎上一個質的飛躍。要學會面向對象的程序設計,首先要學會一
種面向對象的語言,即要學會用VC編程,就要先有C++的基礎,而學習C++語言首先要認
識它面向對象的特性和實現面向對象的方法。 

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++中有特殊用途,用它來作為字符串的結束符。存放在內存中
的字符串常量都在最有一個結束符,即用空字符,它用轉義序列方法表示為’\0’。 

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++語言的部分內容作個簡單的介紹。相關的概念及特點,將在本欄目陸續加以
介紹分析,敬請留意!同時也歡迎您來信來稿參與和交流 


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
C++語言概述 (2002-02-05 06:15:01)
C++對象的放置 (2002-02-04 07:15:00)
淺談C++函數的參數 (2002-02-04 06:15:01)
C++源碼:一個俄羅斯方塊的源代碼,自己寫的,有點笨的…… (2002-02-03 07:20:00)
C++ 編程技巧 (2001-07-07 07:05:01)
Glibc 2 HOWTO 中文版 -- 7. 編譯 C++ 程式 (2001-06-22 20:10:00)
HP-UX下如何確定已安裝C++ 的版本? (2001-05-29 21:04:00)
AIX如何安裝/配置C/C++/Fortran語言License (2001-05-29 09:04:00)
PostgreSQL7.0手冊-接口-54. libpq - C++ 綁定庫 (2001-04-21 23:22:02)
 

★  樊強制作 歡迎分享  ★