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