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