欧美日本免费一区二区三区,中文字幕丰满乱孑伦无码专区,免费a级毛片无码鲁大师,亚洲久悠悠色悠在线播放

C++語(yǔ)言

#編程語(yǔ)言# 0 0
C++(c plus plus)是一種計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言,由C語(yǔ)言擴(kuò)展升級(jí)而產(chǎn)生,最早于1979年由本賈尼·斯特勞斯特盧普在AT&T貝爾工作室研發(fā)。C++擅長(zhǎng)面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過(guò)程的程序設(shè)計(jì)。C++幾乎可以創(chuàng)建任何類(lèi)型的程序:游戲、設(shè)備驅(qū)動(dòng)程序、HPC、云、桌面、嵌入式和移動(dòng)應(yīng)用等;甚至用于其他編程語(yǔ)言的庫(kù)和編譯器也使用C++編寫(xiě),使其越來(lái)越受到大眾關(guān)注。
  • 中文名稱(chēng): c 語(yǔ)言
  • 外文名稱(chēng): C
  • 發(fā)布時(shí)間: 1979年
  • 所屬公司: AT&T貝爾實(shí)驗(yàn)室
詳細(xì)介紹 PROFILE +

基本介紹

C++(c plus plus)是一種計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言,由C語(yǔ)言擴(kuò)展升級(jí)而產(chǎn)生,最早于1979年由本賈尼·斯特勞斯特盧普在AT&T貝爾工作室研發(fā)。

C++既可以進(jìn)行C語(yǔ)言的過(guò)程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類(lèi)型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。C++擅長(zhǎng)面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過(guò)程的程序設(shè)計(jì)。C++幾乎可以創(chuàng)建任何類(lèi)型的程序:游戲、設(shè)備驅(qū)動(dòng)程序、HPC、云、桌面、嵌入式和移動(dòng)應(yīng)用等。甚至用于其他編程語(yǔ)言的庫(kù)和編譯器也使用C++編寫(xiě)。

C++擁有計(jì)算機(jī)運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語(yǔ)言的問(wèn)題描述能力。

發(fā)展歷程

1970年,AT&T貝爾實(shí)驗(yàn)室的工作人員D.Ritchie和K.Thompson共同研發(fā)了C語(yǔ)言。研制C語(yǔ)言的初衷是用它編寫(xiě)UNIX系統(tǒng)程序,因此,實(shí)際上C語(yǔ)言是UNIX的“副產(chǎn)品”。

1971年,瑞士聯(lián)邦技術(shù)學(xué)院N.Wirth教授發(fā)明了第一個(gè)結(jié)構(gòu)化的編程語(yǔ)言Pascal。

20世紀(jì)70年代中期,本賈尼·斯特勞斯特盧普在劍橋大學(xué)計(jì)算機(jī)中心工作。斯特勞斯特盧普希望開(kāi)發(fā)一個(gè)既要編程簡(jiǎn)單、正確可靠,又要運(yùn)行高效、可移植的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。而以C語(yǔ)言為背景,以Simula思想為基礎(chǔ)的語(yǔ)言,正好符合斯特勞斯特盧普的初衷和設(shè)想。

1979年,本賈尼·斯特勞斯特盧普到了AT&T貝爾實(shí)驗(yàn)室,開(kāi)始從事將C改良為帶類(lèi)的C(C with classes)的工作。、1983年,該語(yǔ)言被正式命名為C++。

1985年、1990年和1994年,C++先后進(jìn)行3次主要修訂。

C++的標(biāo)準(zhǔn)化工作于1989年開(kāi)始,并成立了一個(gè)ANSI和ISO(International Standards Organization)國(guó)際標(biāo)準(zhǔn)化組織的聯(lián)合標(biāo)準(zhǔn)化委員會(huì)。

1994年1月25曰,聯(lián)合標(biāo)準(zhǔn)化委員會(huì)提出了第一個(gè)標(biāo)準(zhǔn)化草案。在該草案中,委員會(huì)在保持斯特勞斯特盧普最初定義的所有特征的同時(shí),還增加了部分新特征。

在完成C++標(biāo)準(zhǔn)化的第一個(gè)草案后不久,亞歷山大·斯特潘諾夫(Alexander Stepanov)創(chuàng)建了標(biāo)準(zhǔn)模板庫(kù)(Standard Template Library,STL)。在通過(guò)了標(biāo)準(zhǔn)化第一個(gè)草案之后,聯(lián)合標(biāo)準(zhǔn)化委員會(huì)投票并通過(guò)了將STL包含到C++標(biāo)準(zhǔn)中的提議。STL對(duì)C++的擴(kuò)展超出了C++的最初定義范圍。雖然在標(biāo)準(zhǔn)中增加STL是個(gè)很重要的決定,但也因此延緩了C++標(biāo)準(zhǔn)化的進(jìn)程。

1997年11月14日,聯(lián)合標(biāo)準(zhǔn)化委員會(huì)通過(guò)了該標(biāo)準(zhǔn)的最終草案,

1998年,C++的ANSI/IS0標(biāo)準(zhǔn)被投入使用。

產(chǎn)品設(shè)計(jì)

編程開(kāi)發(fā)

集成開(kāi)發(fā)環(huán)境

截至2014年3月,C++共有12個(gè)主流集成開(kāi)發(fā)環(huán)境。

Visual Studio(Visual C++) Dev C++ C++ Builder kDevelop

Anjuta Code::Blocks Visual Mingw Ideone

Eclipse CDT Compilr Code Lite Netbeans C++

編譯器

截至2014年3月,C++共有5款主流編譯器。

Ultimate++ Digital Mars C-Free MinGW Tiny C Compiler

工作原理

C++語(yǔ)言的程序開(kāi)發(fā)環(huán)境,為了方便測(cè)試,將調(diào)試環(huán)境做成了解釋型。即開(kāi)發(fā)過(guò)程中,以解釋型的逐條語(yǔ)句執(zhí)行方式來(lái)進(jìn)行調(diào)試,以編譯型的脫離開(kāi)發(fā)環(huán)境而啟動(dòng)運(yùn)行的方式來(lái)生成程序最終的執(zhí)行代碼。

開(kāi)發(fā)C++應(yīng)用程序,需要經(jīng)過(guò)編寫(xiě)源程序、編譯、連接程序生成可執(zhí)行程序、運(yùn)行程序四個(gè)步驟。生成程序是指將源碼(C++語(yǔ)句)轉(zhuǎn)換成一個(gè)可以運(yùn)行的應(yīng)用程序的過(guò)程。如果程序編寫(xiě)正確,那么通常只需按一個(gè)功能鍵,即可完成該過(guò)程。

第一步對(duì)程序進(jìn)行編譯,這需要用到編譯器(compiler)。編譯器將C++語(yǔ)句轉(zhuǎn)換成機(jī)器碼(也稱(chēng)為目標(biāo)碼);如果該步驟成功執(zhí)行,下一步就是對(duì)程序進(jìn)行鏈接,這需要用到鏈接器(linker)。鏈接器將編譯獲得機(jī)器碼與C++庫(kù)中的代碼進(jìn)行合并。C++庫(kù)包含了執(zhí)行某些常見(jiàn)任務(wù)的函數(shù)(“函數(shù)”是子程序的另一種稱(chēng)呼)。例如,一個(gè)C++庫(kù)中包含標(biāo)準(zhǔn)的平方根函數(shù)sqrt,所以不必親自計(jì)算平方根。C++庫(kù)中還包含一些子程序,它們把數(shù)據(jù)發(fā)送到顯示器,并知道如何讀寫(xiě)硬盤(pán)上的數(shù)據(jù)文件。

語(yǔ)言基礎(chǔ)

基本類(lèi)型

C++語(yǔ)言數(shù)據(jù)類(lèi)型可以分為兩大類(lèi):基本類(lèi)型和引用類(lèi)型?;绢?lèi)型是指不能再分解的數(shù)據(jù)類(lèi)型,其數(shù)據(jù)在函數(shù)的調(diào)用中是以傳值方式工作的;引用類(lèi)型有時(shí)也稱(chēng)復(fù)合類(lèi)型,它是可以分解為基本類(lèi)型的數(shù)據(jù)類(lèi)型,其數(shù)據(jù)在函數(shù)調(diào)用中是以傳址方式來(lái)工作的。

整型

1、整數(shù)常量

整數(shù)常量是不帶小數(shù)的數(shù)值,用來(lái)表示正負(fù)數(shù)。例2—2中Ox55、0x55ff、1000000都是c++語(yǔ)言的整數(shù)常量。

c++語(yǔ)言的整數(shù)常量有三種形式:十進(jìn)制、八進(jìn)制、十六進(jìn)制。

(1)十進(jìn)制整數(shù)是由不以0開(kāi)頭的0~9的數(shù)字組成的數(shù)據(jù)。

(2)八進(jìn)制整數(shù)是由以0開(kāi)頭的0~7的數(shù)字組成的數(shù)據(jù)。

(3)十六進(jìn)制整數(shù)是由以0x或0x開(kāi)頭的0~9的數(shù)字及A~F的字母(大小寫(xiě)字母均可)組成的數(shù)據(jù)。

例如:

0,63,83是十進(jìn)制數(shù)。

00,077,0123是八進(jìn)制數(shù)。

0x0,Ox0,0x53,0x53,0x3f,0x3f是十六進(jìn)制數(shù)。

整數(shù)常量的取值范圍是有限的,它的大小取決于此類(lèi)整型數(shù)的類(lèi)型,與所使用的進(jìn)制形式無(wú)關(guān)。

2、整型變量類(lèi)型

整型變量類(lèi)型有byte,short,int,long四種說(shuō)明符,它們都是有符號(hào)整型變量類(lèi)型。

(1)byte類(lèi)型

byte類(lèi)型說(shuō)明一個(gè)帶符號(hào)的8位整型變量。由于不同的機(jī)器對(duì)多字節(jié)數(shù)據(jù)的存儲(chǔ)方式不同,可能是從低字節(jié)向高字節(jié)存儲(chǔ),也可能是從高字節(jié)向低字節(jié)存儲(chǔ)。這樣,在分析網(wǎng)絡(luò)協(xié)議或文件格式時(shí),為了解決不同機(jī)器上的字節(jié)存儲(chǔ)順序問(wèn)題,用byte類(lèi)型來(lái)表示數(shù)據(jù)是合適的。

(2)short類(lèi)型

short類(lèi)型說(shuō)明一個(gè)帶符號(hào)的16位整型變量。short類(lèi)型限制了數(shù)據(jù)的存儲(chǔ)應(yīng)為先高字節(jié),后低字節(jié)。

(3)int類(lèi)型

int類(lèi)型說(shuō)明一個(gè)帶符號(hào)的32位整型變量。int類(lèi)型是一種最豐富、最有效的類(lèi)型。它最常用于計(jì)數(shù)、數(shù)組訪問(wèn)和整數(shù)運(yùn)算。

(4)long類(lèi)型

long類(lèi)型說(shuō)明一個(gè)帶符號(hào)的64位整型變量。對(duì)于大型計(jì)算,常常會(huì)遇到很大的整數(shù),并超出int所表示的范圍,這時(shí)要使用long類(lèi)型。

浮點(diǎn)型

1、浮點(diǎn)數(shù)常量

浮點(diǎn)數(shù)是帶有小數(shù)的十進(jìn)制數(shù),可用一般表示法或科學(xué)記數(shù)法表示。0.23f、0.7e-3都是c++語(yǔ)言的浮點(diǎn)數(shù)常量。

(1)一般表示法:十進(jìn)制整數(shù)+小數(shù)點(diǎn)+十進(jìn)制小數(shù)。

(2)科學(xué)記數(shù)法:十進(jìn)制整數(shù)+小數(shù)點(diǎn)+十進(jìn)制小數(shù)+E(或e)+正負(fù)號(hào)+指數(shù)。

例如:3.14159,0.567,9777.12是一般表示法形式,1.234e5,4.90867e-2是科學(xué)記數(shù)法形式。

c++語(yǔ)言的浮點(diǎn)數(shù)常量在機(jī)器中有單精度和雙精度之分。單精度以32位形式存放,用f/F做后綴標(biāo)記(可以省略);雙精度則以64位形式存放。當(dāng)一個(gè)浮點(diǎn)數(shù)常量沒(méi)有特別指定精度時(shí),則它為雙精度浮點(diǎn)數(shù)常量。

2、浮點(diǎn)變量類(lèi)型

浮點(diǎn)變量也稱(chēng)實(shí)數(shù)變量,用于需要精確到小數(shù)的函數(shù)運(yùn)算中,有float和double兩種類(lèi)型說(shuō)明符。

(1)float類(lèi)型

float類(lèi)型是一個(gè)位數(shù)為32位的單精度浮點(diǎn)數(shù)。它具有運(yùn)行速度較快,占用空間較少的特點(diǎn)。

(2)double類(lèi)型

double類(lèi)型是一個(gè)位數(shù)為64的雙精度浮點(diǎn)數(shù)。雙精度數(shù)在某些具有優(yōu)化和高速運(yùn)算能力的現(xiàn)代處理機(jī)上運(yùn)算比單精度數(shù)快。雙精度類(lèi)型double比單精度類(lèi)型float具有更高的精度和更大表示范圍,常常使用。

字符型

1、字符型常量

字符型常量是指由單引號(hào)括起來(lái)的單個(gè)字符。

例如:’a’,’A’,’z’,‘$’,’?’。

注意:’a’和’A’是兩個(gè)不同的字符常量。

除了以上形式的字符常量外,c++語(yǔ)言還允許使用一種以“”開(kāi)頭的特殊形式的字符常量。這種字符常量稱(chēng)為轉(zhuǎn)義字符,用來(lái)表示一些不可顯示的或有特殊意義的字符。

2、字符型變量

字符型變量的類(lèi)型說(shuō)明符為char,它在機(jī)器中占8位,其范圍為0~255。

注意:字符型變量只能存放一個(gè)字符,不能存放多個(gè)字符,例如:

1

char a='am';

這樣定義賦值是錯(cuò)誤的。

布爾型

布爾常量只有兩個(gè)值:“true”和“false”,表示“真”和“假”,均為關(guān)鍵詞,在機(jī)器中位長(zhǎng)為8位。

布爾型變量的類(lèi)型說(shuō)明符為booI,用來(lái)表示邏輯值。

運(yùn)算符與表達(dá)式

C++語(yǔ)言中定義了豐富的運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等等,有些運(yùn)算符需要兩個(gè)操作數(shù),使用形式為:<操作數(shù)1>運(yùn)算符<操作數(shù)2>,這樣的運(yùn)算符稱(chēng)為二元運(yùn)算符(或二目運(yùn)算符)。另一些運(yùn)算符只需要一個(gè)操作數(shù),稱(chēng)為一元運(yùn)算符(或單目運(yùn)算符)。

運(yùn)算符具有優(yōu)先級(jí)與結(jié)合性。當(dāng)一個(gè)表達(dá)式包含多個(gè)運(yùn)算符時(shí),先進(jìn)行優(yōu)先級(jí)高的運(yùn)算,再進(jìn)行優(yōu)先級(jí)低的運(yùn)算。如果表達(dá)式中出現(xiàn)了多個(gè)相同優(yōu)先級(jí)的運(yùn)算,運(yùn)算順序就要看運(yùn)算符的結(jié)合性了。所謂結(jié)合性,是指當(dāng)一個(gè)操作數(shù)左右兩邊的運(yùn)算符優(yōu)先級(jí)相同時(shí),按什么樣的順序進(jìn)行運(yùn)算,是自左向右,還是自右向左。例如,我們熟悉的算術(shù)表達(dá)式6+5-2中,“+”、“-”是同級(jí)運(yùn)算符,那么是先算5-2,還是先算6+5?這就取決于算術(shù)運(yùn)算符的結(jié)合性。由于算術(shù)運(yùn)算符的結(jié)合性為自左向右,所以應(yīng)先算6+5,然后再算11-2。

算術(shù)運(yùn)算符與算術(shù)表達(dá)式

C++中的算術(shù)運(yùn)算符包括基本的算術(shù)運(yùn)算符和自增、自減運(yùn)算符。由算術(shù)運(yùn)算符、操作數(shù)和括號(hào)構(gòu)成的表達(dá)式稱(chēng)為算術(shù)表達(dá)式。

基本算術(shù)運(yùn)算符有:+(加)、-(減或負(fù)號(hào))、*(乘)、/(除)、%(取余)。其中“-”作為負(fù)號(hào)時(shí)為一元運(yùn)算符,其余都為二元運(yùn)算符。這些基本算術(shù)運(yùn)算符的意義與數(shù)學(xué)中相應(yīng)符號(hào)的意義是一致的。它們之間的相對(duì)優(yōu)先級(jí)關(guān)系與數(shù)學(xué)中的也是一致的,即先乘除、后加減,同級(jí)運(yùn)算自左向右進(jìn)行。使用算術(shù)運(yùn)算符要注意以下幾點(diǎn):

1、“%”是取余運(yùn)算,只能用于整型操作數(shù)。表達(dá)式a%b的結(jié)果為a/b的余數(shù)?!?”的優(yōu)先級(jí)與“/”相同。

2、當(dāng)“/”用于兩整型操作數(shù)相除時(shí),其結(jié)果取商的整數(shù)部分,小數(shù)部分被自動(dòng)舍棄。因此,表達(dá)式1/2的結(jié)果為0,這一點(diǎn)需要特別注意。

3、C++中的“++”(自增)、“--”(自減)運(yùn)算符是使用方便且效率很高的兩個(gè)運(yùn)算符,它們都是一元運(yùn)算符。

這兩個(gè)運(yùn)算符都有前置和后置兩種使用形式,無(wú)論寫(xiě)成前置或后置的形式,它們的作用都是將操作數(shù)的值增1(減1)后,重新寫(xiě)回該操作數(shù)在內(nèi)存中的原有位置。所以,如果變量i原來(lái)的值是1,計(jì)算表達(dá)式i++后,表達(dá)式的結(jié)果為2,并且i的值也被改變?yōu)?。但是,當(dāng)自增、自減運(yùn)算的結(jié)果要被用于繼續(xù)參與其它操作時(shí),前置與后置時(shí)的情況就完全不同。例如,如果i的值為l,則下列兩條語(yǔ)句的執(zhí)行結(jié)果不同:

1

2

cout<

cout<<++i;

第一條語(yǔ)句首先輸出i當(dāng)前的值1,然后i自增,其值變?yōu)?;第二條語(yǔ)句首先使i自增為2,然后輸出i的值2。

賦值運(yùn)算符與賦值表達(dá)式

C++提供了幾個(gè)賦值運(yùn)算符,最簡(jiǎn)單的賦值運(yùn)算符就是“=”。帶有賦值運(yùn)算符的表達(dá)式被稱(chēng)為賦值表達(dá)式。例如,m=m+6就是一個(gè)賦值表達(dá)式。賦值表達(dá)式的作用就是將等號(hào)右邊表達(dá)式的值賦給等號(hào)左邊的對(duì)象。賦值表達(dá)式的類(lèi)型為等號(hào)左邊對(duì)象的類(lèi)型,表達(dá)式的結(jié)果為等號(hào)左邊對(duì)象被賦值后的值,運(yùn)算的結(jié)合性為自右向左。請(qǐng)看下列賦值表達(dá)式的例子。

1

n=1

表達(dá)式值為1。

1

a=b=c=2

這個(gè)表達(dá)式從右向左運(yùn)算,在c被更新為2后,表達(dá)式c=2的值為2,接著b的值被更新為2,最后a被賦值為2。

1

a=3+(c=4)

表達(dá)式值為7,a的值為7,c為4。

除了“=”以外,C++還提供了10種復(fù)合的賦值運(yùn)算符:+=,-=,*=,/=,%=,<<=,>>=,&=,“=,|=。其中,前五個(gè)運(yùn)算符是賦值運(yùn)算符與算術(shù)運(yùn)算符復(fù)合而成的,后五個(gè)是賦值運(yùn)算符與位運(yùn)算符復(fù)合而成的。關(guān)于位運(yùn)算,稍后再做介紹。這里10種運(yùn)算符的優(yōu)先級(jí)與“=”相同,結(jié)合性也是自右向左?,F(xiàn)在舉例說(shuō)明復(fù)合賦值運(yùn)算符的功能。

1

2

b+=2;//等價(jià)于b=b+2

x*=y+3;//等價(jià)于x=x*(y+3)

1

如果在賦值表達(dá)式后面加上分號(hào),便成為了賦值語(yǔ)句。例如:

b=b+2:便是一個(gè)賦值語(yǔ)句,它實(shí)現(xiàn)的功能與賦值表達(dá)式相同。賦值表達(dá)式與賦值語(yǔ)句的不同點(diǎn)在于:賦值表達(dá)式可以作為一個(gè)更復(fù)雜表達(dá)式的一部分,繼續(xù)參與運(yùn)算;而賦值語(yǔ)句不能。

逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式

在C++中,逗號(hào)也是一個(gè)運(yùn)算符,它的使用形式為:

<表達(dá)式1>,<表達(dá)式2>,…,<表達(dá)式n>求解順序?yàn)椋惹蠼獗磉_(dá)式1,再求解表達(dá)式2,最后求解表達(dá)式n的值。逗號(hào)表達(dá)式的最終結(jié)果為表達(dá)式n的值。例如:

1

x=2*5,x*4

表達(dá)式的結(jié)果為40。

關(guān)系運(yùn)算符和關(guān)系表達(dá)式

關(guān)系運(yùn)算符即比較符。

用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)就是關(guān)系表達(dá)式。關(guān)系表達(dá)式是一種最簡(jiǎn)單的邏輯表達(dá)式。例如:

1

2

3

x>5

x+y<=20

c==a+b

注:“==”(等于)是連續(xù)的兩個(gè)等號(hào),勿誤寫(xiě)為賦值運(yùn)算符“=”。

關(guān)系表達(dá)式一般用于判斷是否符合某一條件。關(guān)系表達(dá)式的結(jié)果類(lèi)型為bool,值只能是true或false。條件滿(mǎn)足為true,條件不滿(mǎn)足為false。例如,當(dāng)x=t時(shí),x>5的結(jié)果就為false。

邏輯運(yùn)算符與邏輯表達(dá)式

用邏輯運(yùn)算符將簡(jiǎn)單的關(guān)系表達(dá)式連接起來(lái)構(gòu)成較復(fù)雜的邏輯表達(dá)式。邏輯表達(dá)式的結(jié)果類(lèi)型也為bool,值只能為true或false。

“!”是一元運(yùn)算符,使用形式是:!操作數(shù)。非運(yùn)算的作用是對(duì)操作數(shù)取反。如果操作數(shù)a的值為true,則表達(dá)式!a的值為false:如果操作數(shù)a的值為false,則表達(dá)式!a的值為true。

“&&”是二元運(yùn)算符。“&&”運(yùn)算的作用是求兩個(gè)操作數(shù)的邏輯與。只有當(dāng)兩個(gè)操作數(shù)的值都為true時(shí),與運(yùn)算的結(jié)果才為true,其它情況下與運(yùn)算的結(jié)果均為false。

“||”也是二元運(yùn)算符?!皘|”運(yùn)算的作用是求兩個(gè)操作數(shù)的邏輯或。只有當(dāng)兩個(gè)操作數(shù)的值都為false時(shí),或運(yùn)算的結(jié)果才為false,其它情況下或運(yùn)算的結(jié)果均為true。

類(lèi)和對(duì)象

類(lèi)所表示的一組對(duì)象十分相似,可以作為模板來(lái)有效的創(chuàng)建對(duì)象,利用類(lèi)可以產(chǎn)生很多的對(duì)象類(lèi)所代表的事物或者概念都是抽象的。在存取Private類(lèi)型數(shù)據(jù)或者函數(shù)的時(shí)候,只有類(lèi)本身聲明的函數(shù)才是被允許的。類(lèi)在與外部連接時(shí),利用的就是Public共有類(lèi)型函數(shù),任何外部函數(shù)的訪問(wèn)都是運(yùn)行的。

對(duì)象主要是對(duì)客觀事物的某個(gè)實(shí)體進(jìn)行描述,它作為一個(gè)單位,共同組成了系統(tǒng),它的組成是一組屬性和一組服務(wù),這組服務(wù)操作于這組屬性。屬性和服務(wù)是對(duì)象構(gòu)成眾多要素中的兩種,屬性的實(shí)質(zhì)是一個(gè)數(shù)據(jù)項(xiàng),主要是對(duì)對(duì)象靜態(tài)特性進(jìn)行描述,服務(wù)的實(shí)質(zhì)是一個(gè)操作序列,主要是對(duì)對(duì)象動(dòng)態(tài)特征進(jìn)行描述。

關(guān)鍵字

關(guān)鍵字(keyword)是整個(gè)語(yǔ)言范圍內(nèi)預(yù)先保留的標(biāo)識(shí)符,每個(gè)C++關(guān)鍵字都有特殊的含義。經(jīng)過(guò)預(yù)處理后,關(guān)鍵字從預(yù)處理記號(hào)(preprocessing-token)中區(qū)出來(lái),剩下的標(biāo)識(shí)符作為記號(hào)(token),用于聲明對(duì)象、函數(shù)、類(lèi)型、命名空間等。不能聲明與關(guān)鍵字同名的標(biāo)識(shí)符。

各個(gè)版本的ISO C++都規(guī)定以下劃線(xiàn)接大寫(xiě)字母起始的標(biāo)識(shí)符保留給實(shí)現(xiàn)。編譯器可以用這些保留標(biāo)識(shí)符作為擴(kuò)展關(guān)鍵字,這不保證可移植性。以下討論ISO C++所保留的關(guān)鍵字。

特色功能

與C語(yǔ)言的兼容性

C++與C語(yǔ)言完全兼容,C語(yǔ)言的絕大部分內(nèi)容可以直接用于C++的程序設(shè)計(jì),用C語(yǔ)言編寫(xiě)的程序可以不加修改地用于C++。

數(shù)據(jù)封裝和數(shù)據(jù)隱藏

在C++中,類(lèi)是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)象則是數(shù)據(jù)封裝的實(shí)現(xiàn)。C++通過(guò)建立用戶(hù)定義類(lèi)支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏。

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,將數(shù)據(jù)和對(duì)該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個(gè)類(lèi)的定義。對(duì)象被說(shuō)明為具有一個(gè)給定類(lèi)的變量。每個(gè)給定類(lèi)的對(duì)象包含這個(gè)類(lèi)所規(guī)定的若干私有成員、公有成員及保護(hù)成員。完好定義的類(lèi)一旦建立,就可看成完全封裝的實(shí)體,可以作為一個(gè)整體單元使用。類(lèi)的實(shí)際內(nèi)部工作隱藏起來(lái),使用完好定義的類(lèi)的用戶(hù)不需要知道類(lèi)的工作原理,只要知道如何使用它即可。

支持繼承和重用

在C++現(xiàn)有類(lèi)的基礎(chǔ)上可以聲明新類(lèi)型,這就是繼承和重用的思想。通過(guò)繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類(lèi)間關(guān)系,并且充分利用已有的類(lèi)來(lái)完成更復(fù)雜、深入的開(kāi)發(fā)。新定義的類(lèi)為子類(lèi),成為派生類(lèi)。它可以從父類(lèi)那里繼承所有非私有的屬性和方法,作為自己的成員。

多態(tài)性

采用多態(tài)性為每個(gè)類(lèi)指定表現(xiàn)行為。多態(tài)性形成由父類(lèi)和它們的子類(lèi)組成的一個(gè)樹(shù)型結(jié)構(gòu)。在這個(gè)樹(shù)中的每個(gè)子類(lèi)可以接收一個(gè)或多個(gè)具有相同名字的消息。當(dāng)一個(gè)消息被這個(gè)樹(shù)中一個(gè)類(lèi)的一個(gè)對(duì)象接收時(shí),這個(gè)對(duì)象動(dòng)態(tài)地決定給予子類(lèi)對(duì)象的消息的某種用法。多態(tài)性的這一特性允許使用高級(jí)抽象。

繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類(lèi)似但獨(dú)一無(wú)二的對(duì)象。由于繼承性,這些對(duì)象共享許多相似的特征。由于多態(tài)性,一個(gè)對(duì)象可有獨(dú)特的表現(xiàn)方式,而另一個(gè)對(duì)象有另一種表現(xiàn)方式。

品牌介紹

C++語(yǔ)言是對(duì)C語(yǔ)言的擴(kuò)充,從Simula中吸取了類(lèi),從ALGOL語(yǔ)言中吸取了運(yùn)算符的一名多用、引用和在分程序中任何位置均可說(shuō)明變量,綜合了Ada語(yǔ)言的類(lèi)屬和Clu語(yǔ)言的模塊特點(diǎn),形成了抽象類(lèi),從Ada Clu和ML等語(yǔ)言吸取了異常處理,從BCPL語(yǔ)言中吸取了用//表示注釋C++語(yǔ)言保持了C語(yǔ)言的緊湊靈活、高效以及易于移植性強(qiáng)等優(yōu)點(diǎn),它對(duì)數(shù)據(jù)抽象的支持主要在于類(lèi)概念和機(jī)制,對(duì)面向?qū)ο箫L(fēng)范的支持主要通過(guò)虛擬機(jī)制函數(shù)因C++語(yǔ)言既有數(shù)據(jù)抽象和面向?qū)ο竽芰?,運(yùn)行性能高,加上C語(yǔ)言的普及,而從C語(yǔ)言到C++語(yǔ)言的過(guò)渡較為平滑,以及C++語(yǔ)言與C語(yǔ)言的兼容程度可使數(shù)量巨大的C語(yǔ)言程序能方便地在C++語(yǔ)言環(huán)境中復(fù)用,使C++語(yǔ)言在短短幾年內(nèi)能流行。(計(jì)算機(jī)軟件專(zhuān)家王汝傳評(píng))

作為最受歡迎的編程語(yǔ)言之一,C++帶給開(kāi)發(fā)者們最大的驚喜便是其強(qiáng)大的特性。一方面跟C兼容,可以直面系統(tǒng)底層API,SDK,另一方面提供了很多范式,足夠的抽象能力,面向?qū)ο?,操作符重載,模板等。(腳本之家評(píng))

本百科詞條由網(wǎng)站注冊(cè)用戶(hù)【 CN107939 】編輯上傳提供,當(dāng)前頁(yè)面所展示的詞條介紹涉及宣傳內(nèi)容屬于注冊(cè)用戶(hù)個(gè)人編輯行為,網(wǎng)站不完全保證內(nèi)容信息的準(zhǔn)確性、真實(shí)性,也不代表本站立場(chǎng)。 版權(quán)聲明 反饋 我要認(rèn)領(lǐng)
詞條所在榜單
相關(guān)知識(shí)文章
十大熱門(mén)編程語(yǔ)言排名 編程語(yǔ)言排行榜 編程語(yǔ)言哪個(gè)前景好
全世界有數(shù)種編程語(yǔ)言,但最常用的還是那幾種。如今隨著時(shí)代的發(fā)展,一些編程語(yǔ)言的受歡迎程度也發(fā)生著微妙的變化。本文中maiGoo小編就帶大家看看當(dāng)下最具影響力的編程語(yǔ)言有哪些,例如Python、C、C++、Java、C#、JavaScript、Visual Basic、PHP等,仍具有一定代表性,仍是現(xiàn)在最流行的編程語(yǔ)言。
十大二手書(shū)交易網(wǎng)站 舊書(shū)網(wǎng)站推薦 賣(mài)二手書(shū)去哪個(gè)網(wǎng)站好
伴隨90后、00后新消費(fèi)主力人群的形成,各大二手交易平臺(tái)逐漸年輕化,出售閑置物品也更加多元,除了交易數(shù)量較多的汽車(chē)、數(shù)碼、服裝等商品外,圖書(shū)也是一大類(lèi)別,相繼衍生的孔夫子舊書(shū)網(wǎng)、多抓魚(yú)、有路網(wǎng)、舊書(shū)街、二手教材網(wǎng)、123圖書(shū)館、丁書(shū)網(wǎng)等賣(mài)舊書(shū)的網(wǎng)站/二手書(shū)交易網(wǎng)站,成為了許多人的首選交易平臺(tái),下面和maigoo小編一起看看!
十大游戲交易平臺(tái)排行榜 正規(guī)游戲賬號(hào)交易平臺(tái) 熱門(mén)游戲交易平臺(tái)
游戲交易平臺(tái)有官方的,也有第三方的,無(wú)論選擇哪一種,“安全交易”都是至關(guān)重要的,下面CNPP小編帶大家了解下游戲交易平臺(tái)有哪些、游戲交易平臺(tái)哪個(gè)好。例如交易貓、5173平臺(tái)、淘手游、網(wǎng)易藏寶閣、悠悠游戲服務(wù)網(wǎng)等,相對(duì)來(lái)說(shuō)都是具有代表性的。
十大編程軟件排行榜 編程開(kāi)發(fā)工具大全 c語(yǔ)言編程軟件有哪些
世界上主流的編程語(yǔ)言有C、Java、Python、C++、C#、Visual Basic、PHP等,針對(duì)這些編程語(yǔ)言,又有相對(duì)應(yīng)的Visual C++、Visual Studio、Eclipse、Dev-C++、Notepad++、MyEclipse、JDK、Code::Blocks、Gcc、Sublime Text、IntelliJ IDEA、Ultraedit、C-Free等編程軟件,被廣泛運(yùn)用,下面跟隨maigoo網(wǎng)編輯一起了解下這些編程工具!
十大天氣預(yù)報(bào)APP軟件 好用的天氣app排行 天氣預(yù)報(bào)軟件哪個(gè)最準(zhǔn)確
比達(dá)咨詢(xún)(BDR)研究數(shù)據(jù)顯示,我國(guó)移動(dòng)天氣軟件以2009-2013年為萌芽期,各類(lèi)天氣預(yù)報(bào)app相繼衍生,到2016年得益于大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算等技術(shù)的應(yīng)用,從而進(jìn)入高速發(fā)展期。時(shí)至今日,墨跡天氣、最美天氣、天氣通、彩云天氣、2345天氣王、中國(guó)天氣通等天氣app已與人們的生活密不可分,下面跟隨MAIGoo編輯來(lái)認(rèn)識(shí)下!
十大發(fā)型設(shè)計(jì)軟件 測(cè)臉型配發(fā)型軟件叫啥 測(cè)適合自己發(fā)型的軟件推薦
我國(guó)美容美發(fā)已達(dá)到3500億元以上的市場(chǎng)規(guī)模,并處于不斷增長(zhǎng)中。在這個(gè)具備千億產(chǎn)值的行業(yè)里,發(fā)型設(shè)計(jì)軟件是一個(gè)較新的領(lǐng)域,還有很大的發(fā)展空間。這類(lèi)軟件一定程度上能幫助個(gè)人無(wú)成本嘗試新發(fā)型,同時(shí)亦具有娛樂(lè)性。下面和maigoo小編來(lái)看看發(fā)型屋、美可發(fā)型、試發(fā)型相機(jī)、測(cè)臉型等臉型測(cè)試配發(fā)型的軟件!
十大解壓軟件 解壓縮軟件哪個(gè)好用 文件壓縮軟件哪個(gè)好
在這個(gè)信息碎片化的時(shí)代,電腦上各種類(lèi)型的文件數(shù)不勝數(shù),一款好用的壓縮軟件,既能以較高質(zhì)量集合保存?zhèn)€人信息,又能節(jié)省硬盤(pán)空間;縱觀全網(wǎng),備受推崇的解壓縮軟件有WinRAR、7-zip、2345好壓、360壓縮、Bandizip、快壓、WinZip、PeaZip等,下面跟隨MaiGoo網(wǎng)編輯了解下這些解壓軟件!
十大ppt模板網(wǎng)站排行 好用的ppt網(wǎng)站推薦 ppt模板下載網(wǎng)站有哪些
一個(gè)優(yōu)秀的PPT,雖然不能決定你的成與敗,但能直接影響觀看者對(duì)你的工作能力、產(chǎn)品或服務(wù)的認(rèn)同感,特別是在產(chǎn)品發(fā)布、路演、招商引資等場(chǎng)合。本文中maigoo網(wǎng)編輯盤(pán)點(diǎn)了OfficePLUS、優(yōu)品PPT、51PPT、第一PPT、比格PPT、稻殼兒、PPT Store、無(wú)憂(yōu)PPT等ppt模板下載網(wǎng)站、ppt素材網(wǎng)站,下面一起看看!
七大去馬賽克軟件 視頻去馬賽克軟件哪個(gè)好用 馬賽克去除工具推薦
馬賽克是使用頻率最高、使用范圍最廣的一種圖片/視頻處理手段,涉及新聞、動(dòng)漫、電影、連續(xù)劇、寫(xiě)真等方面。作為一種具備了數(shù)十年歷史的處理技術(shù),馬賽克沿用到今天有什么破解方法呢?Maigoo小編為此盤(pán)點(diǎn)了一批去除馬賽克的軟件,其中有JavPlayer、Video Enhancer、DeepCreamPy、TecoGAN、Face Depixelizer、EnhanceNet等視頻馬賽克去除工具,一起看看!
十大游戲陪玩軟件 陪玩app軟件排行 最火的陪玩軟件盤(pán)點(diǎn)
我國(guó)游戲陪玩市場(chǎng)以“手游陪玩”為主,“比心”“虎牙小鹿陪玩”等多個(gè)平臺(tái),是近幾年比較火的陪玩app,然而已被全面封殺,禁止提供陪玩服務(wù)。那么現(xiàn)在市面上,陪玩軟件哪個(gè)最好呢?下面maiGoo小編和大家一起了解下斗魚(yú)一起玩、小鹿組隊(duì)、Go浪語(yǔ)音、點(diǎn)點(diǎn)開(kāi)黑等陪玩平臺(tái)。
十大動(dòng)畫(huà)制作軟件 動(dòng)漫制作軟件盤(pán)點(diǎn) 自己做動(dòng)畫(huà)的軟件有哪些
動(dòng)畫(huà)制作分為二維動(dòng)畫(huà)與三維動(dòng)畫(huà)技術(shù),涉及軟件主要分為2D和3D二種類(lèi)型。在動(dòng)畫(huà)行業(yè)中制作動(dòng)畫(huà)的軟件種類(lèi)越來(lái)越多,越來(lái)越豐富,你知道哪個(gè)動(dòng)畫(huà)制作軟件比較好用?畫(huà)動(dòng)漫軟件哪個(gè)好?下面MAIGOO小編就為大家介紹十大最好用動(dòng)畫(huà)制作軟件,分別有Maya、Adobe Animate、3DS Max、AE、C4D、Blender、萬(wàn)彩動(dòng)畫(huà)大師、Houdini、TVP、Anime Studio Pro。
十大批發(fā)網(wǎng)站 進(jìn)貨批發(fā)網(wǎng)站哪個(gè)好 批發(fā)進(jìn)貨平臺(tái)有哪些
國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)顯示,我國(guó)批發(fā)和零售業(yè)從業(yè)人員據(jù)不完全統(tǒng)計(jì),已有1184.5萬(wàn)人,在所有批發(fā)領(lǐng)域中,礦產(chǎn)品、建材、化工產(chǎn)品、機(jī)械設(shè)備、五金交電、食品、飲料、煙草、服裝、日用品等,是銷(xiāo)售額最高的品類(lèi)。本文中magoo編輯盤(pán)點(diǎn)了阿里巴巴、義烏購(gòu)、包牛牛、17網(wǎng)、網(wǎng)商園等進(jìn)貨批發(fā)網(wǎng)站、小商品批發(fā)網(wǎng)站,一起了解下!
十大舊衣服回收平臺(tái) 有償回收舊衣服的平臺(tái) 正規(guī)回收舊衣服機(jī)構(gòu)
我國(guó)每年有數(shù)萬(wàn)噸舊衣服進(jìn)入垃圾場(chǎng),極少數(shù)能被回收利用。其實(shí)我們可以把舊衣服捐給貧困地區(qū),也可以二手轉(zhuǎn)賣(mài)。下面MaiGoo小編和大家一起看看舊衣物回收平臺(tái)有哪些,一起了解下飛螞蟻、白鯨魚(yú)、鷗燕回收、92回收、噢啦OOLA等正規(guī)回收舊衣服機(jī)構(gòu)。
十大網(wǎng)絡(luò)電話(huà)軟件 網(wǎng)絡(luò)電話(huà)哪個(gè)軟件好用 網(wǎng)絡(luò)電話(huà)呼叫軟件推薦
工信部針對(duì)通信業(yè)的相關(guān)報(bào)告顯示,我國(guó)三家通訊商的移動(dòng)電話(huà)用戶(hù)總數(shù)已超過(guò)17.07億,面對(duì)龐大的用戶(hù)群體,除了手機(jī)實(shí)時(shí)電話(huà)通訊外,網(wǎng)絡(luò)電話(huà)呼叫軟件亦成為主流選擇。現(xiàn)階段,除了微信、QQ等具有語(yǔ)音功能的社交軟件外,Skype、北瓜電話(huà)、Facetime、UU電話(huà)等網(wǎng)絡(luò)電話(huà)軟件的使用頻率也相對(duì)較高,下面跟隨maigoo編輯來(lái)看看!
十大室內(nèi)設(shè)計(jì)軟件 裝修設(shè)計(jì)軟件排名 家裝設(shè)計(jì)軟件哪個(gè)最好用
室內(nèi)設(shè)計(jì)是一個(gè)專(zhuān)業(yè)性極強(qiáng)的領(lǐng)域,設(shè)計(jì)師要在安全、實(shí)用、有限預(yù)算的前提下,充分考慮空間、色彩、光影、裝飾、陳設(shè)、綠化等要素進(jìn)行設(shè)計(jì);那么在當(dāng)今室內(nèi)設(shè)計(jì)領(lǐng)域,有哪些好用的裝修設(shè)計(jì)軟件呢?3D Max、AutoCAD、酷家樂(lè)、草圖大師、Lightscape、Sweet Home 3D、愛(ài)福窩等室內(nèi)設(shè)計(jì)軟件如何?下面跟隨買(mǎi)購(gòu)網(wǎng)編輯一起看看!
十大建模軟件排行榜 3d建模軟件有哪些 3d制圖軟件哪個(gè)好
3d建模軟件顛覆了傳統(tǒng)的2D模式,在游戲、影視、建筑/室內(nèi)設(shè)計(jì)、VR/AR、電商、工業(yè)設(shè)計(jì)、軍工設(shè)計(jì)等多個(gè)重要領(lǐng)域有著廣泛應(yīng)用,并在一定程度上改變著行業(yè)的發(fā)展格局,那么在這種大環(huán)境下,相關(guān)從業(yè)者和愛(ài)好者有哪些3D制圖軟件可以使用?3DS MAX、Maya、Rhino、Blender、ZBrush、SketchUp等建模軟件效果如何?下面跟隨maigoo編輯來(lái)看看!
十大日本購(gòu)物網(wǎng)站排名 日本代購(gòu)網(wǎng)站推薦 日本網(wǎng)上購(gòu)物平臺(tái)有哪些
日本是世界上最大的電商市場(chǎng)之一,位居全球前五。在日本,樂(lè)天、亞馬遜、雅虎購(gòu)物、Zozotown、Kakaku、DMM、Mercari等日本購(gòu)物平臺(tái),是民眾使用頻率最高的購(gòu)物網(wǎng)站,其熱銷(xiāo)品類(lèi)與中國(guó)的相比,沒(méi)有太大差異,主要是電子產(chǎn)品及配件、家居、玩具、家紡等等。下面和maigoo小編一起了解下這些日本網(wǎng)上購(gòu)物網(wǎng)站!
十大圍棋軟件排名 下圍棋軟件哪個(gè)好 學(xué)圍棋app推薦
在手機(jī)或電腦上下圍棋、象棋、五子棋,或是下跳棋、軍棋等,都非常常見(jiàn)。圍棋軟件拉進(jìn)了棋友們的距離,即使天各一方,也能連上網(wǎng)絡(luò)下一盤(pán)棋。下面CNPP小編和大家一起看看圍棋軟件哪個(gè)好。相對(duì)知名的下圍棋軟件有弈客圍棋、星陣圍棋、弈城圍棋、佳弈少兒圍棋、忘憂(yōu)圍棋等。
十大攝影網(wǎng)站排名 高清攝影網(wǎng)站推薦 攝影作品網(wǎng)站有哪些
從攝影技術(shù)誕生的第19世紀(jì),到依托科學(xué)技術(shù)變革攝影行業(yè)、帶來(lái)一系列創(chuàng)新的21世紀(jì),攝影已完全普及開(kāi)來(lái),走入了千家萬(wàn)戶(hù)。對(duì)許多專(zhuān)業(yè)和業(yè)余攝影者來(lái)說(shuō),500PX、色影無(wú)忌、Flickr、Magnum photos、蜂鳥(niǎo)網(wǎng)、POCO、圖蟲(chóng)、1X、CNU、LFI等,是最受他們青睞的高清攝影網(wǎng)站,下面和maigoo小編一起了解下這些攝影作品網(wǎng)站!
十大域名網(wǎng)站排名 中文域名購(gòu)買(mǎi)網(wǎng)站盤(pán)點(diǎn) 域名注冊(cè)服務(wù)網(wǎng)站哪個(gè)好
中國(guó)信通院《互聯(lián)網(wǎng)域名產(chǎn)業(yè)報(bào)告》顯示,我國(guó)已成為僅次于美國(guó)的第二大域名注冊(cè)市場(chǎng),其中中文域名的注冊(cè)量已達(dá)到100萬(wàn)以上,能在世界上的任何地方實(shí)時(shí)訪問(wèn)。本文中maigoo編輯盤(pán)點(diǎn)了一批域名注冊(cè)服務(wù)網(wǎng)站,如GoDaddy、萬(wàn)網(wǎng)、西部數(shù)碼、新網(wǎng)、NameSilo、Namecheap、易名等域名注冊(cè)商、英文/中文域名網(wǎng)站的市場(chǎng)份額較高,一起看看。
CN107939
注冊(cè)用戶(hù)-CN107939
相關(guān)主題榜單
熱門(mén)榜單
百科榜單
熱門(mén)知識(shí)分類(lèi)
行業(yè)品牌展示位
MAIGOO百科詞條為用戶(hù)上傳提供或網(wǎng)站編輯整理匯總,目的在于為廣大用戶(hù)免費(fèi)提供百科知識(shí),如果您有想創(chuàng)建的詞條或?qū)δ硞€(gè)詞條有建議,請(qǐng)通過(guò)下面方式提交。
提交詞條 查詢(xún)?cè)~條 我要糾錯(cuò) 賺取金幣