C++是一種面向?qū)ο蟮某绦蛟O(shè)計語言,提供了類、模板、函數(shù)重載和運(yùn)算符重載設(shè)計等功能,充分支持抽象、繼承和多態(tài)等面向?qū)ο蟪绦蛟O(shè)計的特征,方便大型軟件的開發(fā)。學(xué)習(xí)C++語言,就是要掌握面向?qū)ο蟮某绦蛟O(shè)計思想和解決實(shí)際問題的方法。
《C++面向?qū)ο蟪绦蛟O(shè)計》全面講述了C抖的內(nèi)容,從基本知識到核心概念,涉及了C++開發(fā)所需的必備知識。在編寫過程中,面向?qū)ο蟮乃枷胴灤┦冀K,并輔以大量有針對性的實(shí)例,可以讓讀者更好地理解各種概念和方法。在每章的后面還提供了豐富的上機(jī)實(shí)踐和習(xí)題。
《C++面向?qū)ο蟪绦蛟O(shè)計》既可作為普通高等院校和高職高專院校計算機(jī)、軟件等相關(guān)專業(yè)的教材,也可作為所有想全面學(xué)習(xí)C++開發(fā)技術(shù)的人員和使用C++進(jìn)行開發(fā)的工程技術(shù)人員的工具書。
C++語言是當(dāng)今IT領(lǐng)域最流行的程序設(shè)計語言之一,廣泛應(yīng)用于系統(tǒng)軟件及各種大型應(yīng)用軟件的開發(fā)。目前,國內(nèi)高校普遍開設(shè)了“面向?qū)ο蟪绦蛟O(shè)計”類的課程,一些院校更是將C++語言作為程序設(shè)計語言課程的首選。為此,我們在總結(jié)多年的教學(xué)、培訓(xùn)及開發(fā)實(shí)踐經(jīng)驗的基礎(chǔ)上編寫了本書。
本書針對程序設(shè)計的初學(xué)者,以面向?qū)ο蟮某绦蛟O(shè)計思想為主線,以通俗易懂的方式介紹C++語言,引導(dǎo)讀者以最自然的方式將人類慣有的面向?qū)ο蟮乃季S方法運(yùn)用到程序設(shè)計中來。本書的宗旨是培養(yǎng)讀者面向?qū)ο缶幊痰幕灸芰,因此,在知識體系設(shè)計與章節(jié)安排上獨(dú)具匠心,并通過先進(jìn)的教學(xué)理念和深入淺出的講解風(fēng)格,循序漸進(jìn)地展開教學(xué)內(nèi)容。本書具有以下特點(diǎn):
1.直接提出面向?qū)ο蟮脑O(shè)計思想,讀者更容易接受與理解
由于C++語言既支持面向過程的程序設(shè)計方法,又支持面向?qū)ο蟮某绦蛟O(shè)計方法,所以傳統(tǒng)的C++教材都是先從面向過程的設(shè)計思想開始講授。這樣做的缺點(diǎn)是,從面向過程轉(zhuǎn)向面向?qū)ο髸r,讀者接受起來會非常困難。本書直接講授面向?qū)ο蟮某绦蛟O(shè)計思想,讀者更容易接受和理解。
2.概念講解形象、貼切、透徹,適合初學(xué)者學(xué)習(xí)
本書語言形象生動,在講解各類概念時,多給予了形象、具體的解釋,并且通過實(shí)例做了進(jìn)一步闡述,使讀者不僅能知其然,還能知其所以然,在第一次接觸這些概念時就能迅速掌握。
3.實(shí)例豐富,加深讀者的理解
本書在講解知識點(diǎn)時,貫穿了大量有針對性的實(shí)例,使讀者在實(shí)際的編程體驗中能更好地理解各種概念和方法,加深其對C++語言內(nèi)涵和精髓的理解程度。
本書共分為12章,全面介紹了C++面向?qū)ο蟪绦蛟O(shè)計的有關(guān)概念與語法,每個章節(jié)后還配備了上機(jī)實(shí)踐與習(xí)題。書中所有實(shí)例程序均在Visual C++ 6.0上運(yùn)行通過。
各章內(nèi)容如下:
第1章 引入面向?qū)ο蠓椒āV饕榻B面向?qū)ο蟮某绦蛟O(shè)計方法與思想,并通過一個簡單的C++示例使讀者對Visual C++ 6.0運(yùn)行環(huán)境有一定的了解。
第2章 類和對象的初步認(rèn)識。主要介紹類和對象的概念以及定義方法;C++的變量與函數(shù)、運(yùn)算符與表達(dá)式。
第3章 類和對象的提高篇。在第2章的基礎(chǔ)上進(jìn)一步討論類和對象,包括構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)成員等。
第4章 流程控制。重點(diǎn)介紹流程控制語句,包括順序控制語句、選擇控制語句和循環(huán)控制語句。利用這些流程控制語句,可以讓程序的執(zhí)行邏輯更合理,編碼更簡單。另外,還簡單介紹了變量的作用域。
第5章 數(shù)組與指針。主要介紹一維數(shù)組的定義、初始化與引用;字符數(shù)組;指針的用法以及函數(shù)參數(shù)的傳遞方式等。
第6章 友元。友元機(jī)制是對封裝機(jī)制的補(bǔ)充,它給了程序員更大的靈活性,可以提高程序的運(yùn)行效率。本章主要介紹友元函數(shù)與友元類。
第7章 多態(tài)性。主要介紹靜態(tài)多態(tài)性,包括函數(shù)重載與運(yùn)算符重載。
第8章 繼承性與派生類。繼承是面向?qū)ο蟪绦蛟O(shè)計的重要特征,是使代碼可以復(fù)用的最重要的方法之一。本章詳細(xì)介紹C++繼承和派生的方法。
第9章 動態(tài)多態(tài)性。多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的重要特征之一。本章重點(diǎn)介紹動態(tài)多態(tài)性,包括虛函數(shù),抽象類等。
第10章 異常。主要介紹C++中異常的概念以及處理異常的方法。
第11章 模板。主要介紹模板的概念,包括函數(shù)模板與類模板。
第12章 文件的輸入與輸出。主要介紹文件、文件流的概念,以及如何從文件中輸入數(shù)據(jù)并將處理的結(jié)果輸出到文件等。
本書由李麗平、丁宏偉主編,石彥芳、劉麗華任副主編,趙清晨參編。其中,第6、7、9、11章由李麗平編寫,第1、2、8章由丁宏偉編寫,第4、5章由石彥芳編寫,第3、10章由劉麗華編寫,第12章由趙清晨編寫。全書的整理、審校工作由李麗平、丁宏偉負(fù)責(zé)。
由于作者水平有限,書中難免有不足之處,懇請讀者批評指正。
編 者
2011年8月
第1章 引入面向?qū)ο蠓椒?br>1.1 程序設(shè)計基礎(chǔ)
1.1.1 計算機(jī)語言的種類
1.1.2 面向?qū)ο蟪绦蛟O(shè)計
1.2 C++語言的產(chǎn)生和特點(diǎn)
1.2.1 c++語言的產(chǎn)生
1.2.2 c++語言的特點(diǎn)
1.3 C++程序中的類和對象
1.3.1 c++程序中的類
1.3.2 c++程序中的對象
1.3.3 C++程序的書寫格式
1.4 編寫和執(zhí)行C++程序
1.4.1 C++程序的開發(fā)環(huán)境
1.4.2 C++程序的編譯、鏈接和運(yùn)行
1.5 小結(jié)
1.6 上機(jī)實(shí)踐
習(xí)題
第2章 類和對象的初步認(rèn)識
2.1 類
2.1.1 類的定義
2.1.2 數(shù)據(jù)類型與類的數(shù)據(jù)成員
2.1.3 類的成員函數(shù)
2.2 訪問權(quán)限
2.2.1 私有成員訪問控制
2.2.2 保護(hù)成員訪問控制
2.2.3 公有成員訪問控制
2.3 對象
2.3.1 對象的定義
2.3.2 對象成員的訪問方法
2.3.3 對象的存儲空間
2.4 運(yùn)算符和表達(dá)式
2.4.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.4.2 賦值運(yùn)算符
2.4.3 自增、自減運(yùn)算符
2.4.4 關(guān)系運(yùn)算符和關(guān)系表達(dá)式
2.4.5 邏輯運(yùn)算符和邏輯表達(dá)式
2.4.6 條件運(yùn)算符
2.4.7 sizeof運(yùn)算符
2.4.8 逗號運(yùn)算符
2.5 小結(jié)
2.6 上機(jī)實(shí)踐
習(xí)題
第3章 類和對象的提高篇
3.1 構(gòu)造函數(shù)
3.1.1 什么是構(gòu)造函數(shù)
3.1.2 構(gòu)造函數(shù)的聲明與調(diào)用
3.1.3 帶參數(shù)的構(gòu)造函數(shù)
3.2 析構(gòu)函數(shù)
3.2.1 什么是析構(gòu)函數(shù)
3.2.2 析構(gòu)函數(shù)的聲明和默認(rèn)析構(gòu).
3.3 對象的生命周期
3.4 靜態(tài)成員
3.4.1 靜態(tài)數(shù)據(jù)成員
3.4.2 靜態(tài)成員函數(shù)
3.5 const關(guān)鍵字
3.5.1 常對象
3.5.2 常對象成員
3.6 小結(jié)
3.7 上機(jī)實(shí)踐
習(xí)題
第4章 流程控制
4.1 順序結(jié)構(gòu)
4.1.1 輸入
4.1.2 輸出
……
附錄Ⅱ ASCII碼表