- 相關(guān)推薦
概述C++語(yǔ)言特點(diǎn)
C++是由C發(fā)展而來(lái)的,與C兼容。用C語(yǔ)言寫(xiě)的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超越和集中。下面是小編整理的關(guān)于概述C++語(yǔ)言特點(diǎn),希望大家認真閱讀!
面向對象的程序設計是在面向過(guò)程的程序設計的基礎上一個(gè)質(zhì)的飛躍。要學(xué)會(huì )面向對象的程序設計,首先要學(xué)會(huì )一種面向對象的語(yǔ)言,即要學(xué)會(huì )用VC編程,就要先有C++的基礎,而學(xué)習C++語(yǔ)言首先要認識它面向對象的特性和實(shí)現面向對象的方法。
C++語(yǔ)言是一種面向對象的程序設計語(yǔ)言
當你首次學(xué)習C++時(shí),總會(huì )碰到一些在C++語(yǔ)言從未見(jiàn)過(guò)的概念,如:類(lèi)、對象、抽象、封裝、繼承、多態(tài)性、虛函數等等。這些概念是C++所具有,下面簡(jiǎn)單的介紹一下C++ 對面向對象程序設計方法的支持和實(shí)現。
1、C++支持數據封裝支持數據封裝就是支持數據抽象。在C++中,類(lèi)是支持數據封裝的工具,對象則是數據封裝的實(shí)現。面向過(guò)程的程序設計方法與面向對象的程序設計方法在對待數據和函數關(guān)系上是不同的。
在面向對象的程序設計中,將數據和對該數據進(jìn)行合法操作的函數封裝在一起作為一個(gè)類(lèi)的定義,數據將被隱藏在封裝體中,該封裝體通過(guò)操作接口與外界交換信息。對象被說(shuō)明具有一個(gè)給定類(lèi)的變量,類(lèi)類(lèi)似于C語(yǔ)言中的結構,在C語(yǔ)言中可以定義結構,但這種結構中包含數據,而不包含函數。C++語(yǔ)言中的類(lèi)是數據和函數的封裝體。在C++中,結構可作為一種特殊的類(lèi),它雖然可以包含函數,但是它沒(méi)有私有或保護的成員。
2、C++類(lèi)中包含私有、公有和保護成員C++類(lèi)中可定義三種不同訪(fǎng)控制權限的成員。一種是私有(Private)成員,只有在類(lèi)中說(shuō)明的函數才能訪(fǎng)問(wèn)該類(lèi)的私有成員,而在該類(lèi)外的函數不可以訪(fǎng)問(wèn)私有成員;另一種是公有(Public)成員,類(lèi)外面也可訪(fǎng)問(wèn)公有成員,成為該類(lèi)的接口;還有一種是保護 (Protected)成員,這種成員只有該類(lèi)的派生類(lèi)可以訪(fǎng)問(wèn),其余的在這個(gè)類(lèi)外不能訪(fǎng)問(wèn)。
3、C++語(yǔ)言中通過(guò)發(fā)關(guān)消息來(lái)處理對象C++中是通過(guò)向對象發(fā)關(guān)消息來(lái)處理對象的,每個(gè)對象根據所接收到的消息的性質(zhì)來(lái)決定需要采取的行動(dòng),以響應這個(gè)消息。響應這些消息是一系列的方法,方法是在類(lèi)定義中使用函數來(lái)定義的,使用一種類(lèi)似于函數調用的機制把消息發(fā)送到一個(gè)對象上。
4、C++中允許友元破壞封裝性類(lèi)中的私有成員一般是不允許該類(lèi)外面的任何函數訪(fǎng)問(wèn)的,但是友元便可打破這條禁令,它可以訪(fǎng)問(wèn)該類(lèi)的私有成員(包含數據成員和成員函數)。友元可以是在類(lèi)外定義的函數,也可以是在類(lèi)外定義的整個(gè)類(lèi),前者稱(chēng)友元函數,后者稱(chēng)為友元類(lèi)。友元打破了類(lèi)的封裝性,它是C++語(yǔ)言另一個(gè)面向對象的重要牲。
5、C++允許函數名和運算符重載C++支持多態(tài)性,C++允許一個(gè)相同的標識符或運算符代表多個(gè)不同實(shí)現的函數,這就稱(chēng)標識符或運算符的重載,用戶(hù)可以根據需要定義標識符重載或運算符重載。
6、C++支持繼承性C++中可以允許單繼承和多繼承。一個(gè)類(lèi)可以根據需要生成派生類(lèi)。派生類(lèi)繼承了基類(lèi)的所有方法,另外派生類(lèi)自身還可以定義所需要的不包含在父類(lèi)中的新方法。一個(gè)子類(lèi)的每個(gè)對象包含有從父類(lèi)那里繼承來(lái)的數據成員以及自己所特有的數據成員。
7、C++語(yǔ)言支持動(dòng)態(tài)聯(lián)編C++中可以定義虛函數,通過(guò)定義虛函數來(lái)支持動(dòng)態(tài)聯(lián)編。以上是所講的是C++對面向對象程序設計中的一些主要特征的支持。C++的詞法及詞法規則1、C++的字符集字符是一些可以區分的最小符號。C++的字符集由大小寫(xiě)英文字母(a-z和A-Z)、數據字符(0-9)、特殊字符(空格,!,#,%,^,&,*,_,<,>,?,,,)組成。
擴展:C語(yǔ)言和C++之間的關(guān)系
C語(yǔ)言和C++之間的關(guān)系
C++ 讀作”C加加“,是”C Plus Plus“的簡(jiǎn)稱(chēng)。
顧名思義,C++是在C的基礎上增加新特性,玩出了新花樣,所以叫”C Plus Plus“,就像 iPhone 7 和 iPhone 6、Win10 和 Win7 的關(guān)系。
C語(yǔ)言是1972年由美國貝爾實(shí)驗室研制成功的,在當時(shí)算是高級語(yǔ)言,它的很多新特性都讓匯編程序員羨慕不已,就像今天的Go語(yǔ)言,剛出生就受到追捧。C語(yǔ)言也是”時(shí)髦“的語(yǔ)言,后來(lái)的很多軟件都用C語(yǔ)言開(kāi)發(fā),包括 Windows、Linux 等。
但是隨著(zhù)計算機性能的飛速提高,硬件配置與幾十年前已有天壤之別,軟件規模也不斷增大,很多軟件的體積都超過(guò) 1G,例如 PhotoShop、Visual Studio 等,用C語(yǔ)言開(kāi)發(fā)這些軟件就顯得非常吃力了,這時(shí)候C++就應運而生了。
C++ 主要在C語(yǔ)言的基礎上增加了面向對象和泛型的機制,提高了開(kāi)發(fā)效率,以適用于大中型軟件的編寫(xiě)。
C++和C的血緣關(guān)系
早期并沒(méi)有”C++“這個(gè)名字,而是叫做”帶類(lèi)的C“。
”帶類(lèi)的C“是作為C語(yǔ)言的一個(gè)擴展和補充出現的,目的是提高開(kāi)發(fā)效率,如果你有Java Web開(kāi)發(fā)經(jīng)驗,那么你可以將它們的關(guān)系與 Java 和 JSP 的關(guān)系類(lèi)比。
這個(gè)時(shí)期的C++非常粗糙,僅支持簡(jiǎn)單的面向對象編程,也沒(méi)有自己的編譯器,而是通過(guò)一個(gè)預處理程序(名字叫 cfront),先將C++代碼”翻譯“為C語(yǔ)言代碼,再通過(guò)C語(yǔ)言編譯器合成最終的程序。
隨著(zhù)C++的流行,它的語(yǔ)法也越來(lái)越強大,已經(jīng)能夠很完善的支持面向對象編程和泛型編程。
但是一直也沒(méi)有誕生出新的C++編譯器,而是對原來(lái)C編譯器不斷擴展,讓它支持C++的新特性,所以我們通常稱(chēng)為C/C++編譯器,因為它同時(shí)支持C和C++,例如 Windows 下的微軟編譯器(cl.exe),Linux 下的 GCC 編譯器。
也就是說(shuō),你寫(xiě)的C、C++代碼都會(huì )通過(guò)一個(gè)編譯器來(lái)編譯,很難說(shuō)C++是一門(mén)獨立的語(yǔ)言,還是對C的擴展。
C++是在C語(yǔ)言的基礎上進(jìn)行的擴展,C++包含了C語(yǔ)言的全部?jì)热荨?/p>
【概述C++語(yǔ)言特點(diǎn)】相關(guān)文章:
逆向物流的概述09-26
項目管理概述08-14
婚禮禮儀概述10-21
通俗唱法概述11-15
日語(yǔ)的起源與概述08-06
eda技術(shù)概述01-24
播音主持的語(yǔ)言特點(diǎn)及語(yǔ)言風(fēng)格06-30
C++語(yǔ)法規則積累10-13
精選C++面試題及答案05-23