出版時(shí)間:2012-1 出版社:電子工業(yè)出版社 作者:鄭秋生 主編 頁(yè)數(shù):287
前言
前言 本書的主要作者都是有著豐富教學(xué)經(jīng)驗(yàn)的一線教師,從事C/C++程序設(shè)計(jì)課程教學(xué)多年,深知學(xué)生在學(xué)習(xí)C++程序設(shè)計(jì)這門課程后,對(duì)程序設(shè)計(jì)方法、算法設(shè)計(jì)、調(diào)試程序、習(xí)題解答的茫然和問題,因此本書在介紹理論知識(shí)、相關(guān)概念和語(yǔ)言語(yǔ)法時(shí),始終強(qiáng)調(diào)其在程序設(shè)計(jì)中的作用,使語(yǔ)言語(yǔ)法與程序設(shè)計(jì)相結(jié)合。同類書籍大部分偏重于對(duì)語(yǔ)言語(yǔ)法和概念的介紹,雖然在書中有針對(duì)語(yǔ)法和知識(shí)點(diǎn)的程序?qū)嵗珜W(xué)生對(duì)每章內(nèi)容在實(shí)際程序設(shè)計(jì)中的作用缺乏了解,而本書每章后都附有針對(duì)性較強(qiáng)的應(yīng)用實(shí)例分析,盡可能使初學(xué)者在學(xué)習(xí)每章的內(nèi)容后,即能夠獨(dú)立設(shè)計(jì)程序、解決實(shí)際問題,而不至于無從下手。本書有以下五個(gè)鮮明特點(diǎn): 第一,改變了傳統(tǒng)的教學(xué)模式。先講C語(yǔ)言程序設(shè)計(jì),再講C++對(duì)C語(yǔ)言的擴(kuò)展、面向?qū)ο蟮某绦蛟O(shè)計(jì)。本教材將C/C++語(yǔ)言的學(xué)習(xí)很好地融在一起,讓讀者把面向過程和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法有機(jī)地結(jié)合在一起。面向過程和面向?qū)ο髢煞謨?cè)都統(tǒng)一使用Visual C++ 6.0編譯器。 第二,改變了傳統(tǒng)教材以語(yǔ)言、語(yǔ)法學(xué)習(xí)為重點(diǎn)的缺陷,本教材從基本的語(yǔ)言、語(yǔ)法學(xué)習(xí)上升到程序的“設(shè)計(jì)、算法、編程、調(diào)試”層次。為了讓學(xué)生更好地掌握程序開發(fā)思想、方法和算法,書中提供了大量簡(jiǎn)短精辟的代碼,有助于初學(xué)者學(xué)習(xí)解決問題的精髓。在每章后都有一節(jié)關(guān)于程序綜合設(shè)計(jì)的內(nèi)容,有一個(gè)或多個(gè)較大的程序,以幫助學(xué)生更好地掌握程序設(shè)計(jì)方法和解決實(shí)際問題的能力?! 〉谌滩膹?qiáng)調(diào)程序的設(shè)計(jì)方法,大量例題配有流程圖、N-S圖和UML圖,即突出程序的算法和設(shè)計(jì),而不僅是語(yǔ)法和編程,培養(yǎng)學(xué)生程序設(shè)計(jì)能力和程序調(diào)試技能,養(yǎng)成好的編程習(xí)慣,為專業(yè)程序員的培養(yǎng)打下良好的基礎(chǔ)?! 〉谒?,培養(yǎng)學(xué)生面向?qū)ο蟪绦蛟O(shè)計(jì)的能力,引導(dǎo)學(xué)生建立程序設(shè)計(jì)的大局觀,幫助學(xué)生掌握從客觀事物中抽象出C++類的方法。通過系統(tǒng)的學(xué)習(xí),使學(xué)生的編程能力上一個(gè)臺(tái)階,具備解決復(fù)雜問題的程序設(shè)計(jì)能力?! 〉谖澹鶕?jù)當(dāng)前實(shí)際大型軟件項(xiàng)目開發(fā)的需要,加大了異常處理、模板等內(nèi)容,新增STL標(biāo)準(zhǔn)模板庫(kù),并通過流行的UML工具設(shè)計(jì)C++類?! ”窘滩木帉懗浞挚紤]了目前應(yīng)用型本科C/C++程序設(shè)計(jì)課程教學(xué)的實(shí)際情況和存在的問題。第一,學(xué)生在大一階段的基礎(chǔ)課程較多,不可能投入過多的精力來學(xué)習(xí)本門課程;第二,學(xué)生對(duì)這門課學(xué)習(xí)的期望值很高,但對(duì)學(xué)習(xí)時(shí)可能遇到的困難估計(jì)不足;第三,學(xué)生現(xiàn)有的上機(jī)實(shí)踐條件大大改善,特別有利于貫徹先進(jìn)的精講多練的教學(xué)思想;第四,學(xué)生學(xué)會(huì)了語(yǔ)言的語(yǔ)法,仍不具備解決實(shí)際問題的能力,學(xué)生的程序設(shè)計(jì)、算法設(shè)計(jì)、編程、調(diào)試的能力相對(duì)較差。本教材作者正是考慮了學(xué)生的這些實(shí)際問題,從而精心編寫了這一套面向應(yīng)用型本科的C/C++程序設(shè)計(jì)教程,特別適合于分兩個(gè)學(xué)期系統(tǒng)講授C/C++程序設(shè)計(jì)。第1學(xué)期講授面向過程分冊(cè),第2學(xué)期講授面向?qū)ο蠓謨?cè)。 本面向?qū)ο蠓謨?cè)共分8章,第1章到第3章主要闡述面向?qū)ο蟪绦蛟O(shè)計(jì)的重要概念,包括類和對(duì)象、繼承與派生、多態(tài)性;第4章介紹輸入/輸出流技術(shù);第5章主要介紹異常的概念、異常的產(chǎn)生及異常的處理機(jī)制;第6章和第7章介紹模板和STL標(biāo)準(zhǔn)模板庫(kù);第8章主要講述面向?qū)ο蟮姆治雠c設(shè)計(jì)方法,以實(shí)例的形式詳細(xì)介紹如何用C++進(jìn)行程序設(shè)計(jì)?! 榱朔奖闶褂帽窘滩牡慕處焸湔n,我們還提供了配套的電子教案,公開放在網(wǎng)站上,供任課教師自由下載使用。相信我們多年的教學(xué)經(jīng)驗(yàn)會(huì)對(duì)廣大師生的教和學(xué)有所幫助。建議本分冊(cè)的教學(xué)學(xué)時(shí)為60學(xué)時(shí),其中理論教學(xué)為44學(xué)時(shí),課內(nèi)上機(jī)實(shí)踐為16學(xué)時(shí),課外上機(jī)不少于32學(xué)時(shí)?! ”窘滩牡木帉懙玫搅撕幽鲜∮?jì)算機(jī)學(xué)會(huì)的大力支持,組織了河南多所高校編寫了高等教育計(jì)算機(jī)學(xué)科“應(yīng)用型”系列教材。參編本教材的高校有中原工學(xué)院、鄭州大學(xué)、河南科技大學(xué)、鄭州輕工業(yè)學(xué)院?! ”緯舌嵡锷沃骶帲?章和附錄由王海龍和夏敏捷編寫,第2章由羅菁和潘惠勇編寫,第3章由李曉宇編寫,第4章由冀治航編寫,第5章由鄭秋生編寫,第6章和第7章由王文奇編寫,第8章由劉鳳華編寫。全書最終由鄭秋生修改并統(tǒng)稿。鄭州大學(xué)王黎明老師為本書提出改進(jìn)意見,在此謹(jǐn)向他們表示衷心的感謝。 由于編者水平有限,時(shí)間倉(cāng)促,書中難免有錯(cuò),敬請(qǐng)廣大讀者批評(píng)指正,在此表示感謝。作者E-mail:zqs@zzti.edu.cn?! 【? 者 2011年9月
內(nèi)容概要
《C/C++程序設(shè)計(jì)教程》系列教材分為面向過程和面向?qū)ο髢蓚€(gè)分冊(cè)。
面向?qū)ο蠓謨?cè)系統(tǒng)闡述了C++語(yǔ)言中面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)法和思想。主要內(nèi)容包括類與對(duì)象、繼承與派生、虛函數(shù)與多態(tài)性、異常處理、模板和STL標(biāo)準(zhǔn)模板庫(kù)等內(nèi)容。書中通過流行的UML工具描述C++類,內(nèi)容講解清晰、實(shí)例豐富,力避代碼復(fù)雜冗長(zhǎng),注重程序設(shè)計(jì)思想。簡(jiǎn)短的實(shí)例和UML圖特別有助于初學(xué)者更好地理解、把握解決問題的精髓,幫助讀者快速掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法。
書籍目錄
第1章 類和對(duì)象
1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述
1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
1.2.1 類
1.2.2 對(duì)象
1.2.3 封裝與數(shù)據(jù)隱藏
1.2.4 繼承
1.2.5 多態(tài)性
1.2.6 消息
1.3 類和對(duì)象的定義
1.3.1 類的定義
1.3.2 成員函數(shù)的定義
1.3.3 類對(duì)象的定義
1.3.4 對(duì)象成員的訪問
1.3.5 類對(duì)象的內(nèi)存分配
1.3.6 this指針
1.4 構(gòu)造函數(shù)和析構(gòu)函數(shù)
1.4.1 構(gòu)造函數(shù)的定義
1.4.2 構(gòu)造函數(shù)的重載
1.4.3 帶默認(rèn)參數(shù)的構(gòu)造函數(shù)
1.4.4 析構(gòu)函數(shù)
1.4.5 拷貝構(gòu)造函數(shù)和默認(rèn)拷貝
構(gòu)造函數(shù)
1.5 類和對(duì)象的進(jìn)一步應(yīng)用
1.5.1 堆對(duì)象
1.5.2 對(duì)象數(shù)組
1.5.3 類對(duì)象作為成員
1.5.4 面向?qū)ο蟪绦蛑械某A?br />1.6 靜態(tài)成員
1.6.1 靜態(tài)數(shù)據(jù)成員
1.6.2 靜態(tài)成員函數(shù)
1.7 友元函數(shù)和友元類
1.7.1 友元函數(shù)
1.7.2 友元類
1.8 string類
1.8.1 char型字符串
1.8.2 string型字符串定義
1.8.3 string類構(gòu)造函數(shù)
1.8.4 string類成員函數(shù)
1.9 綜合應(yīng)用實(shí)例
習(xí)題一
第2章 繼承與派生
2.1 繼承與派生的基礎(chǔ)知識(shí)
2.1.1 繼承與派生的基本概念
2.1.2 派生類的定義
2.1.3 派生類的生成
2.2 類的繼承方式
2.2.1 公有繼承
2.2.2 私有繼承
2.2.3 保護(hù)繼承
2.2.4 繼承方式的總結(jié)和比較
2.3 派生類的構(gòu)造函數(shù)與析構(gòu)函數(shù)
2.3.1 簡(jiǎn)單派生類的構(gòu)造函數(shù)
2.3.2 析構(gòu)函數(shù)
2.3.3 復(fù)雜派生類的構(gòu)造函數(shù)和
析構(gòu)函數(shù)
2.3.4 派生友元類
2.4 基類與派生類的轉(zhuǎn)換
2.5 多重繼承
2.5.1 多重繼承的定義
2.5.2 多重繼承中的二義性問題
2.6 虛繼承和虛基類
2.6.1 虛繼承和虛基類的定義
2.6.2 虛基類及其派生類構(gòu)造函數(shù)
執(zhí)行順序
2.7 綜合應(yīng)用實(shí)例
習(xí)題二
第3章 多態(tài)性
3.1 多態(tài)性的概念
3.2 運(yùn)算符重載
3.2.1 運(yùn)算符重載概述
3.2.2 雙目運(yùn)算符重載
3.2.3 賦值運(yùn)算符重載
3.2.4 單目運(yùn)算符重載
3.2.5 下標(biāo)運(yùn)算符重載
3.2.6 類型轉(zhuǎn)換運(yùn)算符重載
3.3 聯(lián)編和虛函數(shù)
3.3.1 靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編
3.3.2 虛函數(shù)的引入
3.3.3 虛函數(shù)的定義和多態(tài)性
3.3.4 使用引用變量的多態(tài)性
3.3.5 動(dòng)態(tài)聯(lián)編的要素——指針(引用)
變量
3.3.6 動(dòng)態(tài)聯(lián)編的工作機(jī)制
3.3.7 虛析構(gòu)函數(shù)
3.4 純虛函數(shù)和抽象類
3.4.1 純虛函數(shù)
3.4.2 抽象類
3.5 綜合應(yīng)用實(shí)例
習(xí)題三
第4章 輸入/輸出流
4.1 輸入/輸出流的基本概念
4.2 輸入/輸出流類體系
4.2.1 流類庫(kù)
4.2.2 標(biāo)準(zhǔn)流對(duì)象
4.3 輸入/輸出流的操作
4.3.1 輸入/輸出流的格式化
4.3.2 用流成員函數(shù)實(shí)現(xiàn)輸入/輸出
4.4 文件流和文件的輸入/輸出
4.4.1 文件流類與文件流對(duì)象
4.4.2 定義文件流對(duì)象
4.4.3 文件的打開和關(guān)閉
4.4.4 文本文件的輸入/輸出(讀/寫)
4.4.5 二進(jìn)制文件的輸入/輸出(讀/寫)
4.4.6 文件的隨機(jī)訪問
4.5 字符串流
4.6 重載插入和提取運(yùn)算符
4.7 綜合應(yīng)用實(shí)例
習(xí)題四
第5章 異常處理及命名空間
5.1 異常處理
5.1.1 異常的概念
5.1.2 異常處理機(jī)制
5.1.3 異常函數(shù)
5.1.4 標(biāo)準(zhǔn)C++庫(kù)中的異常類
5.2 命名空間
5.2.1 命名空間的定義
5.2.2 命名空間的使用
5.2.3 標(biāo)準(zhǔn)命名空間std
5.2.4 無名空間
5.3 綜合應(yīng)用實(shí)例
習(xí)題五
第6章 模板
6.1 函數(shù)模板
6.1.1 函數(shù)模板語(yǔ)法
6.1.2 函數(shù)模板實(shí)例化
6.1.3 使用函數(shù)模板實(shí)例
6.2 類模板
6.2.1 類模板的語(yǔ)法
6.2.2 類模板實(shí)例化
6.2.3 派生類和類模板
6.3 綜合應(yīng)用實(shí)例
習(xí)題六
第7章 標(biāo)準(zhǔn)模板庫(kù)STL介紹及應(yīng)用
7.1 標(biāo)準(zhǔn)模板庫(kù)STL的概念
7.1.1 什么是STL
7.1.2 STL組成部分
7.1.3 STL對(duì)C++的影響
7.2 容器(Container)
7.2.1 容器簡(jiǎn)介
7.2.2 容器的結(jié)構(gòu)
7.2.3 容器的使用
7.3 迭代器(Iterator)
7.3.1 輸入迭代器
7.3.2 輸出迭代器
7.3.3 前向迭代器
7.3.4 雙向迭代器
7.3.5 隨機(jī)存取迭代器
7.3.6 迭代器的使用
7.4 算法(Algorithm)
7.4.1 算法和函數(shù)對(duì)象
7.4.2 算法分類介紹
7.5 綜合應(yīng)用實(shí)例
習(xí)題七
第8章 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例
8.1 圖書管理系統(tǒng)需求分析
8.1.1 需求分析的任務(wù)
8.1.2 圖書管理系統(tǒng)需求描述
8.1.3 圖書管理系統(tǒng)需求
8.2 圖書管理系統(tǒng)需求模型
8.2.1 圖書管理系統(tǒng)用例圖
8.2.2 圖書管理系統(tǒng)用例規(guī)約
8.3 圖書管理系統(tǒng)設(shè)計(jì)
8.3.1 分析類
8.3.2 順序圖
8.3.3 設(shè)計(jì)類圖
8.3.4 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
8.4 圖書管理系統(tǒng)實(shí)現(xiàn)
8.4.1 類的定義
8.4.2 類的實(shí)現(xiàn)
8.4.3 用戶界面設(shè)計(jì)
8.4.4 系統(tǒng)主函數(shù)
8.4.5 系統(tǒng)管理員功能模塊
8.4.6 普通管理員功能
習(xí)題八
附錄A 常用容器與算法介紹
附錄B 統(tǒng)一建模語(yǔ)言(UML)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁(yè):插圖:面向?qū)ο蠓椒ㄖ械膶?duì)象,是描述系統(tǒng)中某一客觀事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。對(duì)象由一組屬性和一組行為構(gòu)成。屬性是用來描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng),而行為是用來描述對(duì)象動(dòng)態(tài)特征的操作序列。類和對(duì)象的關(guān)系就像模具與產(chǎn)品之間的關(guān)系,一個(gè)屬于某類的對(duì)象稱為該類的一個(gè)實(shí)例,如張三就是人這個(gè)類的一個(gè)實(shí)例,或是這個(gè)類的具體表現(xiàn)。1.2.3 封裝與數(shù)據(jù)隱藏封裝是指將數(shù)據(jù)和代碼捆綁在一起,從而避免外界的干擾和不確定性。在C++中,封裝是通過類來實(shí)現(xiàn)的。類是描述具有相同屬性和方法的對(duì)象的集合,定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。封裝也是面向?qū)ο蠓椒ㄖ械囊粋€(gè)重要原則,它把對(duì)象的屬性和行為結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并且盡可能地隱藏對(duì)象的內(nèi)部細(xì)節(jié)。這里有兩層含義:第一是把對(duì)象的全部屬性和全部行為結(jié)合在一起,形成一個(gè)不可分割的獨(dú)立單元;第二是信息隱蔽,也就是盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),對(duì)外部世界形成一個(gè)邊界或屏障,只保留有限的公用的對(duì)外接口,使之與外部世界發(fā)生聯(lián)系。1.2.4 繼承繼承(inheritance)是面向?qū)ο蟪绦蛟O(shè)計(jì)能夠提高軟件開發(fā)效率的重要原因之一,也是軟件規(guī)模化的一個(gè)重要手段。特殊類的對(duì)象擁有其一般類的全部屬性和行為,稱為特殊類對(duì)一般類的繼承。繼承具有重要的現(xiàn)實(shí)意義,它簡(jiǎn)化了人們對(duì)于現(xiàn)實(shí)世界客觀事物的認(rèn)識(shí)和描述。例如,人們認(rèn)識(shí)了汽車的特征之后,再考慮小轎車時(shí),因?yàn)橹佬∞I車也是汽車,于是認(rèn)為小轎車具有汽車的全部一般特征,從而可以把精力用于發(fā)現(xiàn)和描述小轎車不同于一般汽車的獨(dú)有的那些特征。軟件的規(guī)模化生產(chǎn)是影響軟件產(chǎn)業(yè)發(fā)展的重要因素,它強(qiáng)調(diào)軟件的復(fù)用性,也就是程序不加修改或進(jìn)行少許修改,就可以用在不同的地方。繼承對(duì)于軟件的復(fù)用具有重要意義,特殊類繼承一般類,本身就是軟件復(fù)用。不僅如此,如果將開發(fā)好的類作為構(gòu)件放到構(gòu)件庫(kù)中,在開發(fā)新系統(tǒng)時(shí)可以直接使用或繼承使用。
編輯推薦
《C/C++程序設(shè)計(jì)教程:面向?qū)ο蠓謨?cè)(第2版)》是高等教育計(jì)算機(jī)學(xué)科“應(yīng)用型”規(guī)劃教材。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
C/C++程序設(shè)計(jì)教程.面向?qū)ο蠓謨?cè) PDF格式下載