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