出版時(shí)間:2010-2 出版社:清華大學(xué)出版社 作者:李愛華,程磊 編著 頁(yè)數(shù):303
前言
C++語(yǔ)言是目前應(yīng)用較廣的一種優(yōu)秀的高級(jí)程序設(shè)計(jì)語(yǔ)言,它既保留了對(duì)傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法的支持,同時(shí)又增加了對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的完全支持,但后者是其主要特色和應(yīng)用,是一種具有代表性的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。本書是一本易學(xué)易用的面向?qū)ο蟪绦蛟O(shè)計(jì)(c++語(yǔ)言)大學(xué)教程。本書內(nèi)容主要分成三大部分,這也是本書區(qū)別于同類書的一大亮點(diǎn)。而且每章開始以精練的語(yǔ)言扼要說(shuō)明本章的內(nèi)容要點(diǎn),難點(diǎn)被適當(dāng)?shù)胤纸庵v述。本書作者長(zhǎng)期從事面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué),具有豐富的教學(xué)、實(shí)踐經(jīng)驗(yàn)和獨(dú)到的見解,這些經(jīng)驗(yàn)和見解都已融入到本書的內(nèi)容中。本書中的程序都已在VisualC++6.O集成開發(fā)環(huán)境下編譯通過,對(duì)一些Visual C++6.O明顯不支持的地方作了簡(jiǎn)要說(shuō)明。本書的特色體現(xiàn)在以下4個(gè)方面。(1)內(nèi)容精練、講解深入。采用最新的c++標(biāo)準(zhǔn),對(duì)龐雜的知識(shí)做認(rèn)真的取舍,結(jié)合作者的教學(xué)經(jīng)驗(yàn)講解。(2)知識(shí)介紹深入淺出、簡(jiǎn)明易懂。對(duì)C++語(yǔ)言的基本概念、原理和方法的敘述由淺人深,條理分明,循序漸進(jìn)。以介紹“概念一語(yǔ)法一舉例”的形式進(jìn)行講解,并針對(duì)學(xué)生常犯的錯(cuò)誤和容易混淆的概念進(jìn)行了強(qiáng)調(diào)指出。(3)強(qiáng)調(diào)實(shí)踐環(huán)節(jié)對(duì)于程序設(shè)計(jì)的重要性。理論與實(shí)踐緊密結(jié)合,不僅說(shuō)明知識(shí)點(diǎn),更重要的是表明其應(yīng)用方法,注重對(duì)知識(shí)的應(yīng)用領(lǐng)域和質(zhì)量進(jìn)行評(píng)價(jià),激發(fā)讀者對(duì)于程序設(shè)計(jì)的興趣,使讀者在短時(shí)間內(nèi)掌握“用什么”、“怎么用”、“用在哪”,進(jìn)而學(xué)會(huì)用C++語(yǔ)言進(jìn)行程序設(shè)計(jì)并積累豐富的實(shí)踐經(jīng)驗(yàn)。(4)講授相關(guān)課程的教師可以從清華大學(xué)出版社網(wǎng)站,下載本書的電子課件和所有例題代碼。作為教師,學(xué)生提出的問題,自己的編程實(shí)踐和對(duì)技術(shù)的思索、特色教學(xué)的需要都是促使我們編寫這本書的動(dòng)力。本書第1~4章由李愛華編寫,第5~8章由程磊編寫,第9、11、12章由劉海艷編寫,第10章由金海月和臧晶編寫。另外,陳垚雨參加了本書部分程序的調(diào)試工作。
內(nèi)容概要
本書是一本易學(xué)易用的面向?qū)ο蟪绦驔]計(jì)(c++語(yǔ)言)大學(xué)教程,內(nèi)容分成三大部分。第一部分是c++語(yǔ)言基礎(chǔ),重點(diǎn)介紹了C++語(yǔ)言的語(yǔ)法、面向?qū)ο蟮幕咎卣?、c++程序的開發(fā)過程、基本數(shù)據(jù)類型、函數(shù)、引用、動(dòng)態(tài)內(nèi)存管理及異常處理等。第二部分是面向?qū)ο蟮某绦蛟O(shè)計(jì),詳細(xì)講述面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)基本概念、類與對(duì)象的定義和使用、繼承與派生、多態(tài)性、運(yùn)算符重載、模板、標(biāo)準(zhǔn)模板庫(kù)STL、c++的輸入與輸出等。第三部分是Visual C++環(huán)境下Windows程序開發(fā)概述,包括Windows編程初步和綜合設(shè)計(jì)實(shí)例——簡(jiǎn)單矢量繪圖程序。 全書采用c++最新的標(biāo)準(zhǔn),示例講解精練,每章后面都附有各種類型的習(xí)題。同時(shí),教師可以從清華大學(xué)出版社網(wǎng)站(WWW.tup.corn.m)下載本書的電子課件和所有例題代碼。 本書既可作為高等學(xué)校相關(guān)專業(yè)面向?qū)ο蟪绦蛟O(shè)計(jì)(c++語(yǔ)言)的教材,也可作為軟件開發(fā)技術(shù)人員的參考書。
書籍目錄
第一部分 C++語(yǔ)言基礎(chǔ) 第1章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述 1.1 面向過程與面向?qū)ο? 1.1.1 面向過程的程序設(shè)計(jì) 1.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征 1.2.1 新的程序設(shè)計(jì)范型 1.2.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念 1.2.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征 1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)言 1.4 C++程序及其開發(fā) 1.4.1 Visual C++6.0集成開發(fā)環(huán)境簡(jiǎn)介 1.4.2 C++程序的開發(fā)過程 1.4.3 Visual C++6.0控制臺(tái)應(yīng)用程序開發(fā) 1.5 本章小結(jié) 習(xí)題 第2章 C++語(yǔ)言基礎(chǔ) 2.1 C++語(yǔ)言概述 2.1.1 從C語(yǔ)言到C++語(yǔ)言 2.1.2 一個(gè)簡(jiǎn)單的C++程序 2.1.3 名字空間 2.2 基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 2.2.1 基本數(shù)據(jù)類型 2.2.2 運(yùn)算符和表達(dá)式 2.2.3 數(shù)據(jù)類型轉(zhuǎn)換 2.3 數(shù)據(jù)的輸入與輸出 2.3.1 I/o的書寫格式 2.3.2 簡(jiǎn)單的I/0格式控制 2.4 C++語(yǔ)言中函數(shù)的新特性 2.4.1 函數(shù)的原型 2.4.2 默認(rèn)參數(shù)的函數(shù) 2.4.3 內(nèi)聯(lián)函數(shù) 2.4.4 函數(shù)重載 2.5 引用 2.5.1 引用的概念及使用 2.5.2 引用作為參數(shù)傳遞 2.5.3 引用與指針的區(qū)別 2.5.4 引用作為返回類型 2.6 動(dòng)態(tài)內(nèi)存分配 2.6.1 動(dòng)態(tài)內(nèi)存分配與釋放函數(shù) 2.6.2 new和delete 2.7 異常處理 2.7.1 異常處理的機(jī)制 2.7.2 異常處理的實(shí)現(xiàn) 2.8 本章小結(jié) 習(xí)題第二部分 面向?qū)ο蟮某绦蛟O(shè)計(jì) 第3章 類和對(duì)象(一) 3.1 類的構(gòu)成 3.1.1 從結(jié)構(gòu)到類 3.1.2 類的構(gòu)成 3.1.3 類成員的訪問屬性 3.2 類的成員函數(shù) 3.3 對(duì)象的定義與使用 3.3.1 類與對(duì)象的關(guān)系 3.3.2 對(duì)象的定義 3.3.3 對(duì)象中成員的訪問 3.3.4 對(duì)象賦值語(yǔ)句 3.4 構(gòu)造函數(shù)與析構(gòu)函數(shù) 3.4.1 構(gòu)造函數(shù) 3.4.2 成員初始化表 3.4.3 具有默認(rèn)參數(shù)的構(gòu)造函數(shù) ……第三部分 Visual C++環(huán)境下Windows程序開發(fā)概述參考文獻(xiàn)
章節(jié)摘錄
插圖:面向過程的程序設(shè)計(jì)思想的核心是功能分解,通常采用自頂向下的方法進(jìn)行程序設(shè)計(jì),即傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)(structured programming,SP)方法:將一個(gè)大規(guī)模的、復(fù)雜的問題按功能逐步分解為若干小規(guī)模的、簡(jiǎn)單的子問題,使用對(duì)應(yīng)的程序模塊來(lái)實(shí)現(xiàn)每一個(gè)簡(jiǎn)單的子問題,因而每個(gè)程序模塊具有相對(duì)獨(dú)立的功能,再由這些基本模塊在一定的控制方式下實(shí)現(xiàn)較大的功能模塊,直至最后完成一個(gè)完整的程序。C語(yǔ)言用一個(gè)個(gè)函數(shù)分別實(shí)現(xiàn)各子功能模塊,在main()函數(shù)中,通過流程控制語(yǔ)句,將這些函數(shù)有機(jī)地組織成完整的程序。面向過程的程序設(shè)計(jì)的范型是“程序一算法+數(shù)據(jù)結(jié)構(gòu)”,面向過程的程序設(shè)計(jì)具有直觀、結(jié)構(gòu)清晰的特點(diǎn)。但是,面向過程的程序設(shè)計(jì)方法將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作分離,如果一個(gè)或多個(gè)數(shù)據(jù)的結(jié)構(gòu)發(fā)生了變化,與之相關(guān)的所有操作都必須改變,那么這種變化將波及程序的很多部分甚至整個(gè)程序,致使許多函數(shù)和過程必須重寫,嚴(yán)重時(shí)會(huì)導(dǎo)致整個(gè)軟件結(jié)構(gòu)的崩潰。這就是說(shuō),傳統(tǒng)程序的復(fù)雜性控制是一個(gè)很棘手的問題,這也是傳統(tǒng)程序難以重用的一個(gè)重要原因。維護(hù)是軟件生命周期中的最后一個(gè)環(huán)節(jié),也是非常重要的一個(gè)環(huán)節(jié)。傳統(tǒng)程序設(shè)計(jì)是面向過程的,其數(shù)據(jù)和操作相分離的結(jié)構(gòu),使得維護(hù)數(shù)據(jù)和處理數(shù)據(jù)的操作過程要花費(fèi)大量的精力和時(shí)間,嚴(yán)重地影響了軟件的生產(chǎn)效率。1.1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法強(qiáng)調(diào)以問題域(現(xiàn)實(shí)世界)中的事物為中心來(lái)思考和認(rèn)識(shí)問題,并按照事物的本質(zhì)特征將其抽象為對(duì)象,以作為構(gòu)成軟件系統(tǒng)的基礎(chǔ)。面向?qū)ο蟪绦蛟O(shè)計(jì)方法的特點(diǎn)如下:(1)面向?qū)ο蟪绦蛟O(shè)計(jì)方法以“對(duì)象”或“數(shù)據(jù)”為中心。但這時(shí)的數(shù)據(jù)與傳統(tǒng)的被動(dòng)數(shù)據(jù)不同,它具有“行動(dòng)”的功能,而這種動(dòng)作是在對(duì)象接收了消息時(shí)發(fā)生的。由于對(duì)象自然地反映了應(yīng)用領(lǐng)域的模塊性,因此具有相對(duì)穩(wěn)定性,可以被用做一個(gè)組件去構(gòu)成更復(fù)雜的應(yīng)用,又由于對(duì)象一般封裝的是某個(gè)實(shí)際需求的各種部分,因此,某個(gè)對(duì)象的改變對(duì)整個(gè)系統(tǒng)幾乎沒有影響。(2)引入了“類”的概念。類與類以層次結(jié)構(gòu)組織,屬于某個(gè)類的對(duì)象除具有該類所描述的特性外,還具有層次結(jié)構(gòu)中該類上層所有類描述的全部性質(zhì)。在面向?qū)ο蟪绦蛟O(shè)計(jì)方法中稱這種機(jī)制為繼承。(3)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的模塊性與繼承性保證了新的應(yīng)用程序設(shè)計(jì)可在原有對(duì)象的數(shù)據(jù)類型和功能的基礎(chǔ)上通過重用、擴(kuò)展和細(xì)化來(lái)進(jìn)行,而不必從頭做起或復(fù)制原有代碼。這種特性大大減少了重新編寫新代碼的工作量,同時(shí)降低了程序設(shè)計(jì)中出錯(cuò)的可能性,達(dá)到事半功倍的效果。與面向過程的程序設(shè)計(jì)不同,面向?qū)ο蟮某绦蛟O(shè)計(jì)是以數(shù)據(jù)而不是功能為核心,將數(shù)據(jù)以及對(duì)這些數(shù)據(jù)的操作以類(class)的形式封裝(encapsulation)為一個(gè)整體,以類的對(duì)象(object)作為程序的基本元素,通過向?qū)ο蟀l(fā)送消息(message),進(jìn)而由對(duì)象啟動(dòng)相關(guān)的方法完成各種功能。同時(shí),數(shù)據(jù)本身不能被類外的程序和過程直接存取,這種機(jī)制增強(qiáng)了數(shù)據(jù)的安全性和軟件的可靠性。
編輯推薦
《面向?qū)ο蟪绦蛟O(shè)計(jì)(C++語(yǔ)言)》是作者根據(jù)多年的教學(xué)和實(shí)踐經(jīng)驗(yàn)總結(jié)而成的面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)教材。內(nèi)容精煉、講解深入。采用最新的C++標(biāo)準(zhǔn),對(duì)龐雜的知識(shí)做認(rèn)真的取舍,結(jié)合作者的教學(xué)經(jīng)驗(yàn)講解,透徹展示重要內(nèi)容。以“概念一>語(yǔ)法一>舉例”的形式進(jìn)行講解,并針對(duì)學(xué)生常犯的錯(cuò)誤和容易混淆的概念進(jìn)行了強(qiáng)調(diào)指出。講授相關(guān)課程的教師可以從清華大學(xué)出版社網(wǎng)站。上下載《面向?qū)ο蟪绦蛟O(shè)計(jì)(C++語(yǔ)言)》的電子課件和相關(guān)例程代碼。
圖書封面
評(píng)論、評(píng)分、閱讀與下載