C++是在C語言的基礎(chǔ)上開發(fā)的一種通用編程語言。
C++是C語言的繼承,它是一種使用非常廣泛的計(jì)算機(jī)編程語言,C++作為一種靜態(tài)數(shù)據(jù)類型檢查的、支持多范型的通用程序設(shè)計(jì)語言,能夠支持過程化程序設(shè)計(jì)、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì)、基于原則設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。C++的編程領(lǐng)域眾廣,常用于系統(tǒng)開發(fā),引擎開發(fā)等應(yīng)用領(lǐng)域,深受廣大程序員的喜愛。C++不僅擁有計(jì)算機(jī)高效運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語言的問題描述能力。
支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏
在C++中,類是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)象則是數(shù)據(jù)封裝的實(shí)現(xiàn)。C++通過建立用戶定義類支持數(shù)據(jù)封裝和數(shù)據(jù)隱藏。
在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,將數(shù)據(jù)和對(duì)該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個(gè)類的定義。對(duì)象被說明為具有一個(gè)給定類的變量。每個(gè)給定類的對(duì)象包含這個(gè)類所規(guī)定的若干私有成員、公有成員及保護(hù)成員。完好定義的類一旦建立,就可看成完全封裝的實(shí)體,可以作為一個(gè)整體單元使用。類的實(shí)際內(nèi)部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。支持繼承和重用
在C++現(xiàn)有類的基礎(chǔ)上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類間關(guān)系,并且充分利用已有的類來完成更復(fù)雜、深入的開發(fā)。新定義的類為子類,成為派生類。它可以從父類那里繼承所有非私有的屬性和方法,作為自己的成員。
支持多態(tài)性
采用多態(tài)性為每個(gè)類指定表現(xiàn)行為。多態(tài)性形成由父類和它們的子類組成的一個(gè)樹型結(jié)構(gòu)。在這個(gè)樹中的每個(gè)子類可以接收一個(gè)或多個(gè)具有相同名字的消息。當(dāng)一個(gè)消息被這個(gè)樹中一個(gè)類的一個(gè)對(duì)象接收時(shí),這個(gè)對(duì)象動(dòng)態(tài)地決定給予子類對(duì)象的消息的某種用法。多態(tài)性的這一特性允許使用高級(jí)抽象。
繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類似但獨(dú)一無二的對(duì)象。由于繼承性,這些對(duì)象共享許多相似的特征。由于多態(tài)性,一個(gè)對(duì)象可有獨(dú)特的表現(xiàn)方式,而另一個(gè)對(duì)象有另一種表現(xiàn)方式。
C++語言的程序因?yàn)橐w現(xiàn)高性能,所以都是編譯型的。但其開發(fā)環(huán)境,為了方便測(cè)試,將調(diào)試環(huán)境做成解釋型的。即開發(fā)過程中,以解釋型的逐條語句執(zhí)行方式來進(jìn)行調(diào)試,以編譯型的脫離開發(fā)環(huán)境而啟動(dòng)運(yùn)行的方式來生成程序最終的執(zhí)行代碼。
生成程序是指將源碼(C++語句)轉(zhuǎn)換成一個(gè)可以運(yùn)行的應(yīng)用程序的過程。如果程序的編寫是正確的,那么通常只需按一個(gè)功能鍵,即可搞定這個(gè)過程。該過程實(shí)際上分成兩個(gè)步驟。
第一步是對(duì)程序進(jìn)行編譯,這需要用到編譯器(compiler)。編譯器將C++語句轉(zhuǎn)換成機(jī)器碼(也稱為目標(biāo)碼);如果這個(gè)步驟成功,下一步就是對(duì)程序進(jìn)行鏈接,這需要用到鏈接器(linker)。鏈接器將編譯獲得機(jī)器碼與C++庫中的代碼進(jìn)行合并。C++庫包含了執(zhí)行某些常見任務(wù)的函數(shù)(“函數(shù)”是子程序的另一種稱呼)。例如,一個(gè)C++庫中包含標(biāo)準(zhǔn)的平方根函數(shù)sqrt,所以不必親自計(jì)算平方根。C++庫中還包含一些子程序,它們把數(shù)據(jù)發(fā)送到顯示器,并知道如何讀寫硬盤上的數(shù)據(jù)文件。