注明:以下及其后續(xù)內(nèi)容部分摘自《Standard C++ Bible》,所有程序代碼都在Visual Stdio 6.0中編譯運(yùn)行,操作系統(tǒng)為WinXP。本文不涉及VC6.0開發(fā)工具的使用,只講解C++語法知識。
C++和C的共同部分就不講解了(如 常量和變量,循環(huán)語句和循環(huán)控制,數(shù)組和指針等,這里面的一些區(qū)別會在本節(jié)和下節(jié)介紹一下),本文著重介紹C++的特點(diǎn),如類、繼承和多重繼承、運(yùn)算符重載、類模板、C++標(biāo)準(zhǔn)庫、模板庫、等等。
一、C++概述
(一) 發(fā)展歷史
1980年,Bjarne Stroustrup博士開始著手創(chuàng)建一種模擬語言,能夠具有面向?qū)ο蟮某绦蛟O(shè)計(jì)特色。在當(dāng)時(shí),面向?qū)ο缶幊踢是一個(gè)比較新的理念,Stroustrup博士并不是從頭開始設(shè)計(jì)新語言,而是在C語言的基礎(chǔ)上進(jìn)行創(chuàng)建。這就是C++語言。
1985年,C++開始在外面慢慢流行。經(jīng)過多年的發(fā)展,C++已經(jīng)有了多個(gè)版本。為次,ANSI和ISO的聯(lián)合委員會于1989年著手為C++制定標(biāo)準(zhǔn)。1994年2月,該委員會出版了第一份非正式草案,1998年正式推出了C++的國際標(biāo)準(zhǔn)。
(二) C和C++
C++是C的超集,也可以說C是C++的子集,因?yàn)镃先出現(xiàn)。按常理說,C++編譯器能夠編譯任何C程序,但是C和C++還是有一些小差別。
例如C++增加了C不具有的關(guān)鍵字。這些關(guān)鍵字能作為函數(shù)和變量的標(biāo)識符在C程序中使用,盡管C++包含了所有的C,但顯然沒有任何C++編譯器能編譯這樣的C程序。
C程序員可以省略函數(shù)原型,而C++不可以,一個(gè)不帶參數(shù)的C函數(shù)原型必須把void寫出來。而C++可以使用空參數(shù)列表。
C++中new和delete是對內(nèi)存分配的運(yùn)算符,取代了C中的malloc和free。
標(biāo)準(zhǔn)C++中的字符串類取代了C標(biāo)準(zhǔn)C函數(shù)庫頭文件中的字符數(shù)組處理函數(shù)。
C++中用來做控制態(tài)輸入輸出的iostream類庫替代了標(biāo)準(zhǔn)C中的stdio函數(shù)庫。
C++中的try/catch/throw異常處理機(jī)制取代了標(biāo)準(zhǔn)C中的setjmp()和longjmp()函數(shù)。
二、關(guān)鍵字和變量
C++相對與C增加了一些關(guān)鍵字,如下:
typename bool dynamic_cast mutable namespace
static_cast using catch explicit new
virtual operator false private template
volatile const protected this wchar_t
const_cast public throw friend true
reinterpret_cast try
bitor xor_e and_eq compl or_eq
not_eq bitand
相關(guān)推薦:2010年9月計(jì)算機(jī)等級考試試題及答案解析專題預(yù)告:名師解析2010年9月計(jì)算機(jī)等級考試試題答案
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |