出版時(shí)間:2012-1 出版社:電子工業(yè)出版社 作者:鄭秋生 主編 頁(yè)數(shù):287
前言
前言 本書(shū)的主要作者都是有著豐富教學(xué)經(jīng)驗(yàn)的一線教師,從事C/C++程序設(shè)計(jì)課程教學(xué)多年,深知學(xué)生在學(xué)習(xí)C++程序設(shè)計(jì)這門(mén)課程后,對(duì)程序設(shè)計(jì)方法、算法設(shè)計(jì)、調(diào)試程序、習(xí)題解答的茫然和問(wèn)題,因此本書(shū)在介紹理論知識(shí)、相關(guān)概念和語(yǔ)言語(yǔ)法時(shí),始終強(qiáng)調(diào)其在程序設(shè)計(jì)中的作用,使語(yǔ)言語(yǔ)法與程序設(shè)計(jì)相結(jié)合。同類(lèi)書(shū)籍大部分偏重于對(duì)語(yǔ)言語(yǔ)法和概念的介紹,雖然在書(shū)中有針對(duì)語(yǔ)法和知識(shí)點(diǎn)的程序?qū)嵗?,但學(xué)生對(duì)每章內(nèi)容在實(shí)際程序設(shè)計(jì)中的作用缺乏了解,而本書(shū)每章后都附有針對(duì)性較強(qiáng)的應(yīng)用實(shí)例分析,盡可能使初學(xué)者在學(xué)習(xí)每章的內(nèi)容后,即能夠獨(dú)立設(shè)計(jì)程序、解決實(shí)際問(wèn)題,而不至于無(wú)從下手。本書(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í)很好地融在一起,讓讀者把面向過(guò)程和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法有機(jī)地結(jié)合在一起。面向過(guò)程和面向?qū)ο髢煞謨?cè)都統(tǒng)一使用Visual C++ 6.0編譯器?! 〉诙淖兞藗鹘y(tǒng)教材以語(yǔ)言、語(yǔ)法學(xué)習(xí)為重點(diǎn)的缺陷,本教材從基本的語(yǔ)言、語(yǔ)法學(xué)習(xí)上升到程序的“設(shè)計(jì)、算法、編程、調(diào)試”層次。為了讓學(xué)生更好地掌握程序開(kāi)發(fā)思想、方法和算法,書(shū)中提供了大量簡(jiǎn)短精辟的代碼,有助于初學(xué)者學(xué)習(xí)解決問(wèn)題的精髓。在每章后都有一節(jié)關(guān)于程序綜合設(shè)計(jì)的內(nèi)容,有一個(gè)或多個(gè)較大的程序,以幫助學(xué)生更好地掌握程序設(shè)計(jì)方法和解決實(shí)際問(wèn)題的能力?! 〉谌滩膹?qiáng)調(diào)程序的設(shè)計(jì)方法,大量例題配有流程圖、N-S圖和UML圖,即突出程序的算法和設(shè)計(jì),而不僅是語(yǔ)法和編程,培養(yǎng)學(xué)生程序設(shè)計(jì)能力和程序調(diào)試技能,養(yǎng)成好的編程習(xí)慣,為專(zhuān)業(yè)程序員的培養(yǎng)打下良好的基礎(chǔ)?! 〉谒模囵B(yǎng)學(xué)生面向?qū)ο蟪绦蛟O(shè)計(jì)的能力,引導(dǎo)學(xué)生建立程序設(shè)計(jì)的大局觀,幫助學(xué)生掌握從客觀事物中抽象出C++類(lèi)的方法。通過(guò)系統(tǒng)的學(xué)習(xí),使學(xué)生的編程能力上一個(gè)臺(tái)階,具備解決復(fù)雜問(wèn)題的程序設(shè)計(jì)能力?! 〉谖?,根據(jù)當(dāng)前實(shí)際大型軟件項(xiàng)目開(kāi)發(fā)的需要,加大了異常處理、模板等內(nèi)容,新增STL標(biāo)準(zhǔn)模板庫(kù),并通過(guò)流行的UML工具設(shè)計(jì)C++類(lèi)。 本教材編寫(xiě)充分考慮了目前應(yīng)用型本科C/C++程序設(shè)計(jì)課程教學(xué)的實(shí)際情況和存在的問(wèn)題。第一,學(xué)生在大一階段的基礎(chǔ)課程較多,不可能投入過(guò)多的精力來(lái)學(xué)習(xí)本門(mén)課程;第二,學(xué)生對(duì)這門(mén)課學(xué)習(xí)的期望值很高,但對(duì)學(xué)習(xí)時(shí)可能遇到的困難估計(jì)不足;第三,學(xué)生現(xiàn)有的上機(jī)實(shí)踐條件大大改善,特別有利于貫徹先進(jìn)的精講多練的教學(xué)思想;第四,學(xué)生學(xué)會(huì)了語(yǔ)言的語(yǔ)法,仍不具備解決實(shí)際問(wèn)題的能力,學(xué)生的程序設(shè)計(jì)、算法設(shè)計(jì)、編程、調(diào)試的能力相對(duì)較差。本教材作者正是考慮了學(xué)生的這些實(shí)際問(wèn)題,從而精心編寫(xiě)了這一套面向應(yīng)用型本科的C/C++程序設(shè)計(jì)教程,特別適合于分兩個(gè)學(xué)期系統(tǒng)講授C/C++程序設(shè)計(jì)。第1學(xué)期講授面向過(guò)程分冊(cè),第2學(xué)期講授面向?qū)ο蠓謨?cè)?! ”久嫦?qū)ο蠓謨?cè)共分8章,第1章到第3章主要闡述面向?qū)ο蟪绦蛟O(shè)計(jì)的重要概念,包括類(lèi)和對(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,我們還提供了配套的電子教案,公開(kāi)放在網(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í)?! ”窘滩牡木帉?xiě)得到了河南省計(jì)算機(jī)學(xué)會(huì)的大力支持,組織了河南多所高校編寫(xiě)了高等教育計(jì)算機(jī)學(xué)科“應(yīng)用型”系列教材。參編本教材的高校有中原工學(xué)院、鄭州大學(xué)、河南科技大學(xué)、鄭州輕工業(yè)學(xué)院?! ”緯?shū)由鄭秋生任主編,第1章和附錄由王海龍和夏敏捷編寫(xiě),第2章由羅菁和潘惠勇編寫(xiě),第3章由李曉宇編寫(xiě),第4章由冀治航編寫(xiě),第5章由鄭秋生編寫(xiě),第6章和第7章由王文奇編寫(xiě),第8章由劉鳳華編寫(xiě)。全書(shū)最終由鄭秋生修改并統(tǒng)稿。鄭州大學(xué)王黎明老師為本書(shū)提出改進(jìn)意見(jiàn),在此謹(jǐn)向他們表示衷心的感謝。 由于編者水平有限,時(shí)間倉(cāng)促,書(shū)中難免有錯(cuò),敬請(qǐng)廣大讀者批評(píng)指正,在此表示感謝。作者E-mail:zqs@zzti.edu.cn?! 【? 者 2011年9月
內(nèi)容概要
《C/C++程序設(shè)計(jì)教程》系列教材分為面向過(guò)程和面向?qū)ο髢蓚€(gè)分冊(cè)。
面向?qū)ο蠓謨?cè)系統(tǒng)闡述了C++語(yǔ)言中面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)法和思想。主要內(nèi)容包括類(lèi)與對(duì)象、繼承與派生、虛函數(shù)與多態(tài)性、異常處理、模板和STL標(biāo)準(zhǔn)模板庫(kù)等內(nèi)容。書(shū)中通過(guò)流行的UML工具描述C++類(lèi),內(nèi)容講解清晰、實(shí)例豐富,力避代碼復(fù)雜冗長(zhǎng),注重程序設(shè)計(jì)思想。簡(jiǎn)短的實(shí)例和UML圖特別有助于初學(xué)者更好地理解、把握解決問(wèn)題的精髓,幫助讀者快速掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法。
書(shū)籍目錄
第1章 類(lèi)和對(duì)象
1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述
1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
1.2.1 類(lèi)
1.2.2 對(duì)象
1.2.3 封裝與數(shù)據(jù)隱藏
1.2.4 繼承
1.2.5 多態(tài)性
1.2.6 消息
1.3 類(lèi)和對(duì)象的定義
1.3.1 類(lèi)的定義
1.3.2 成員函數(shù)的定義
1.3.3 類(lèi)對(duì)象的定義
1.3.4 對(duì)象成員的訪問(wèn)
1.3.5 類(lèi)對(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 類(lèi)和對(duì)象的進(jìn)一步應(yīng)用
1.5.1 堆對(duì)象
1.5.2 對(duì)象數(shù)組
1.5.3 類(lèi)對(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ù)和友元類(lèi)
1.7.1 友元函數(shù)
1.7.2 友元類(lèi)
1.8 string類(lèi)
1.8.1 char型字符串
1.8.2 string型字符串定義
1.8.3 string類(lèi)構(gòu)造函數(shù)
1.8.4 string類(lèi)成員函數(shù)
1.9 綜合應(yīng)用實(shí)例
習(xí)題一
第2章 繼承與派生
2.1 繼承與派生的基礎(chǔ)知識(shí)
2.1.1 繼承與派生的基本概念
2.1.2 派生類(lèi)的定義
2.1.3 派生類(lèi)的生成
2.2 類(lèi)的繼承方式
2.2.1 公有繼承
2.2.2 私有繼承
2.2.3 保護(hù)繼承
2.2.4 繼承方式的總結(jié)和比較
2.3 派生類(lèi)的構(gòu)造函數(shù)與析構(gòu)函數(shù)
2.3.1 簡(jiǎn)單派生類(lèi)的構(gòu)造函數(shù)
2.3.2 析構(gòu)函數(shù)
2.3.3 復(fù)雜派生類(lèi)的構(gòu)造函數(shù)和
析構(gòu)函數(shù)
2.3.4 派生友元類(lèi)
2.4 基類(lèi)與派生類(lèi)的轉(zhuǎn)換
2.5 多重繼承
2.5.1 多重繼承的定義
2.5.2 多重繼承中的二義性問(wèn)題
2.6 虛繼承和虛基類(lèi)
2.6.1 虛繼承和虛基類(lèi)的定義
2.6.2 虛基類(lèi)及其派生類(lèi)構(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 類(lèi)型轉(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ù)和抽象類(lèi)
3.4.1 純虛函數(shù)
3.4.2 抽象類(lèi)
3.5 綜合應(yīng)用實(shí)例
習(xí)題三
第4章 輸入/輸出流
4.1 輸入/輸出流的基本概念
4.2 輸入/輸出流類(lèi)體系
4.2.1 流類(lèi)庫(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 文件流類(lèi)與文件流對(duì)象
4.4.2 定義文件流對(duì)象
4.4.3 文件的打開(kāi)和關(guān)閉
4.4.4 文本文件的輸入/輸出(讀/寫(xiě))
4.4.5 二進(jìn)制文件的輸入/輸出(讀/寫(xiě))
4.4.6 文件的隨機(jī)訪問(wèn)
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ù)中的異常類(lèi)
5.2 命名空間
5.2.1 命名空間的定義
5.2.2 命名空間的使用
5.2.3 標(biāo)準(zhǔn)命名空間std
5.2.4 無(wú)名空間
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 類(lèi)模板
6.2.1 類(lèi)模板的語(yǔ)法
6.2.2 類(lèi)模板實(shí)例化
6.2.3 派生類(lèi)和類(lèi)模板
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 算法分類(lèi)介紹
7.5 綜合應(yīng)用實(shí)例
習(xí)題七
第8章 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例
8.1 圖書(shū)管理系統(tǒng)需求分析
8.1.1 需求分析的任務(wù)
8.1.2 圖書(shū)管理系統(tǒng)需求描述
8.1.3 圖書(shū)管理系統(tǒng)需求
8.2 圖書(shū)管理系統(tǒng)需求模型
8.2.1 圖書(shū)管理系統(tǒng)用例圖
8.2.2 圖書(shū)管理系統(tǒng)用例規(guī)約
8.3 圖書(shū)管理系統(tǒng)設(shè)計(jì)
8.3.1 分析類(lèi)
8.3.2 順序圖
8.3.3 設(shè)計(jì)類(lèi)圖
8.3.4 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
8.4 圖書(shū)管理系統(tǒng)實(shí)現(xiàn)
8.4.1 類(lèi)的定義
8.4.2 類(lèi)的實(shí)現(xiàn)
8.4.3 用戶(hù)界面設(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)成。屬性是用來(lái)描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng),而行為是用來(lái)描述對(duì)象動(dòng)態(tài)特征的操作序列。類(lèi)和對(duì)象的關(guān)系就像模具與產(chǎn)品之間的關(guān)系,一個(gè)屬于某類(lèi)的對(duì)象稱(chēng)為該類(lèi)的一個(gè)實(shí)例,如張三就是人這個(gè)類(lèi)的一個(gè)實(shí)例,或是這個(gè)類(lèi)的具體表現(xiàn)。1.2.3 封裝與數(shù)據(jù)隱藏封裝是指將數(shù)據(jù)和代碼捆綁在一起,從而避免外界的干擾和不確定性。在C++中,封裝是通過(guò)類(lèi)來(lái)實(shí)現(xiàn)的。類(lèi)是描述具有相同屬性和方法的對(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ì)能夠提高軟件開(kāi)發(fā)效率的重要原因之一,也是軟件規(guī)?;囊粋€(gè)重要手段。特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部屬性和行為,稱(chēng)為特殊類(lèi)對(duì)一般類(lèi)的繼承。繼承具有重要的現(xiàn)實(shí)意義,它簡(jiǎn)化了人們對(duì)于現(xiàn)實(shí)世界客觀事物的認(rèn)識(shí)和描述。例如,人們認(rèn)識(shí)了汽車(chē)的特征之后,再考慮小轎車(chē)時(shí),因?yàn)橹佬∞I車(chē)也是汽車(chē),于是認(rèn)為小轎車(chē)具有汽車(chē)的全部一般特征,從而可以把精力用于發(fā)現(xiàn)和描述小轎車(chē)不同于一般汽車(chē)的獨(dú)有的那些特征。軟件的規(guī)模化生產(chǎn)是影響軟件產(chǎn)業(yè)發(fā)展的重要因素,它強(qiáng)調(diào)軟件的復(fù)用性,也就是程序不加修改或進(jìn)行少許修改,就可以用在不同的地方。繼承對(duì)于軟件的復(fù)用具有重要意義,特殊類(lèi)繼承一般類(lèi),本身就是軟件復(fù)用。不僅如此,如果將開(kāi)發(fā)好的類(lèi)作為構(gòu)件放到構(gòu)件庫(kù)中,在開(kāi)發(fā)新系統(tǒng)時(shí)可以直接使用或繼承使用。
編輯推薦
《C/C++程序設(shè)計(jì)教程:面向?qū)ο蠓謨?cè)(第2版)》是高等教育計(jì)算機(jī)學(xué)科“應(yīng)用型”規(guī)劃教材。
圖書(shū)封面
評(píng)論、評(píng)分、閱讀與下載
C/C++程序設(shè)計(jì)教程.面向?qū)ο蠓謨?cè) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版