C++是一種混合型的程序設(shè)計(jì)語言,支持面向過程與面向列象的程序設(shè)汁方法!吨攸c(diǎn)大學(xué)計(jì)算機(jī)專業(yè)系列教材:C++語言程序設(shè)計(jì)教程》分別介紹面向過程的c++基礎(chǔ)、面向?qū)ο蟮腸++語肓要素和應(yīng)用c++開發(fā)的其他機(jī)制。面向過程部分總結(jié)C++面向過程的語法點(diǎn),介紹數(shù)據(jù)類型、流程控制、函數(shù)、數(shù)組及指針,鞏同基礎(chǔ)知識(shí)的同時(shí),對(duì)c++中引進(jìn)的流、重載、引用、動(dòng)態(tài)空間管理進(jìn)行較為詳盡的講解。面向?qū)ο蟛糠种攸c(diǎn)闡述面向?qū)ο笏枷,分析類、運(yùn)算符重載、繼承、多態(tài)和流等語法要素,通過淺顯的例子解釋知識(shí)點(diǎn)的意義與用法,對(duì)重點(diǎn)與難點(diǎn)語法采用大量的實(shí)例和圖表來幫助理解,使讀者能“知其然”,并能做到“知其所以然”。應(yīng)用基礎(chǔ)部分介紹應(yīng)用c++編程的關(guān)鍵技術(shù)與高級(jí)機(jī)制,包括模板、STL、異常以及Windows編程,由于該部分涉及內(nèi)容很多,采用向?qū)竭M(jìn)行分析案例,使讀者在簡(jiǎn)單應(yīng)用中理解語法機(jī)制。本書注重案例設(shè)計(jì)的合理性,引導(dǎo)讀者理解并應(yīng)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想方法,從應(yīng)用出發(fā)注重激發(fā)讀者的學(xué)習(xí)興趣。
《重點(diǎn)大學(xué)計(jì)算機(jī)專業(yè)系列教材:C++語言程序設(shè)計(jì)教程》特色: ●本著“理解與應(yīng)用并重”的原則,強(qiáng)調(diào)案例設(shè)計(jì)的合理性,引導(dǎo)讀者理解并應(yīng)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法,從應(yīng)用出發(fā)培養(yǎng)學(xué)生的學(xué)習(xí)興趣。 ●對(duì)重要的、難懂的知識(shí)點(diǎn)結(jié)合實(shí)用案例進(jìn)行循序漸進(jìn)地剖析,并引入大量簡(jiǎn)潔易懂的圖表來幫助理解。 ●將基礎(chǔ)知識(shí)與標(biāo)準(zhǔn)模板庫(kù)等相結(jié)合,使學(xué)生懂得利用已有的模板庫(kù)和算法,能夠提高程序的開發(fā)效率和程序的可靠性,為實(shí)踐研發(fā)打下基礎(chǔ)。 ●引入Windows編程內(nèi)容,采用向?qū)浇榻B,使學(xué)生能夠了解Windows程序設(shè)計(jì)的思路和應(yīng)用,進(jìn)一步增強(qiáng)對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的理解。
前言
C++語言是一種典型的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,學(xué)習(xí)C++程序設(shè)計(jì)語言既要掌握其語法規(guī)則,更要理解面向?qū)ο螅∣bjectOriented,OO)的程序設(shè)計(jì)思想。只有在理解OO思想的基礎(chǔ)上運(yùn)用這些語法才能編寫出真正的C++程序,才能夠?yàn)楹罄m(xù)專業(yè)課程(如“數(shù)據(jù)結(jié)構(gòu)”、“編譯原理”、“操作系統(tǒng)”和“軟件工程”等)的學(xué)習(xí)提供支持,從而為軟件開發(fā)工作奠定扎實(shí)的基礎(chǔ)。
在筆者多年教學(xué)實(shí)踐過程中發(fā)現(xiàn),學(xué)生對(duì)C++面向?qū)ο蟪绦蛟O(shè)計(jì)的學(xué)習(xí)往往偏重于基本語法,忽略理解和掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。主要表現(xiàn)是: 設(shè)計(jì)程序以完成基本功能為出發(fā)點(diǎn),仍然采用結(jié)構(gòu)化思想設(shè)計(jì)程序;盡管程序中定義了類,但沒有體現(xiàn)封裝、繼承、多態(tài)的作用,構(gòu)造的是基于對(duì)象而不是面向?qū)ο蟮某绦颉?br /> C++是一個(gè)非常全面的程序設(shè)計(jì)語言,不僅具備面向?qū)ο蟮某R?guī)語言要素,如類、繼承、多態(tài)、流、異常機(jī)制等,還包括諸多C++特有的語言要素,如多繼承、復(fù)制構(gòu)造、運(yùn)算符重載、指針、引用、模板等。由于涉及的語法規(guī)則繁多且晦澀難懂,學(xué)生很難完全掌握,因此容易導(dǎo)致其畏難情緒。此外,C++教學(xué)往往與具體應(yīng)用脫節(jié),學(xué)習(xí)語法知識(shí)后學(xué)生不了解其應(yīng)用方法,對(duì)應(yīng)用程序開發(fā)無所適從。
基于以上問題,本書本著 “理解與應(yīng)用并重”的原則,強(qiáng)調(diào)案例設(shè)計(jì)的合理性,引導(dǎo)讀者理解并應(yīng)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法,從應(yīng)用出發(fā)培養(yǎng)學(xué)生的學(xué)習(xí)興趣。在講解基本語法規(guī)則之前,先通過淺顯的例子幫助讀者理解該知識(shí)點(diǎn)的本質(zhì),正所謂“知其然更需知其所以然”,進(jìn)而使讀者能夠合理地規(guī)劃程序結(jié)構(gòu)并運(yùn)用知識(shí)點(diǎn)。對(duì)重要的、難懂的知識(shí)點(diǎn)采用實(shí)用案例進(jìn)行循序漸進(jìn)的剖析,并引入大量簡(jiǎn)潔易懂的圖表來幫助理解。將基礎(chǔ)知識(shí)與標(biāo)準(zhǔn)模板庫(kù)等相結(jié)合,使學(xué)生懂得利用已有的模板庫(kù)和算法,能夠提高程序的開發(fā)效率和可靠性,為實(shí)際研發(fā)打下基礎(chǔ)。同時(shí),為了培養(yǎng)學(xué)生學(xué)習(xí)興趣,引入Windows編程部分,采用向?qū)浇榻B,讓學(xué)生能夠了解Windows程序設(shè)計(jì)的思路和應(yīng)用,進(jìn)一步增強(qiáng)對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的理解。
本書由大連理工大學(xué)軟件學(xué)院軟件基礎(chǔ)教研室組織編寫,在總結(jié)各位教師多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,傾注了C++教學(xué)團(tuán)隊(duì)教師大量的心血。其中,由蔣光遠(yuǎn)完成第1章、第2章、第3章的編寫;田琳琳完成第4章、第9章以及附錄的編寫;趙小薇完成第5章、第6章、第8章的編寫;于紅完成第7章、第10章的編寫。
這是一本主要面向研究型和教學(xué)型大學(xué),針對(duì)計(jì)算機(jī)及相關(guān)專業(yè)的“C++程序設(shè)計(jì)語言”課程的教材,建議讀者最好有一定的C語言程序設(shè)計(jì)基礎(chǔ)。希望讀者在學(xué)習(xí)C++語言語法的同時(shí),能夠真正理解和掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,并運(yùn)用OO的分析與設(shè)計(jì)方法開發(fā)應(yīng)用程序。
鑒于時(shí)間倉(cāng)促,筆者水平有限,書中難免有紕漏,歡迎廣大讀者多提寶貴意見。
編者2011年12月于大連理工大學(xué)
第1章 概述
1.1 面向?qū)ο蟮挠蓙?br>1.2 面向?qū)ο蟮乃枷?br>1.3 面向?qū)ο蟮奶卣?br>1.4 C++概述
1.5 C十十程序開發(fā)步驟
習(xí)題
第2章 c++基礎(chǔ)
2.1 C++程序結(jié)構(gòu)
2.2 基本數(shù)據(jù)類型及操作
2.2.1 字符集
2.2.2 標(biāo)識(shí)符和關(guān)鍵字
2.2.3 運(yùn)算符和表達(dá)式
2.2.4 數(shù)據(jù)類型
2.2.5 輸入與輸出
2.3 流程控制
2.3.1 分支結(jié)構(gòu)
2.3.2 循環(huán)結(jié)構(gòu)
2.3.3 幾種循環(huán)語句比較
2.4 程序結(jié)構(gòu)
2.4.1 函數(shù)定義
2.4.2 函數(shù)分類
2.4.3 函數(shù)調(diào)用和聲明
2.4.4 形式參數(shù)與實(shí)際參數(shù)
2.4.5 函數(shù)返回值
2.4.6 函數(shù)重載
2.4.7 函數(shù)默認(rèn)參數(shù)
2.4.8 函數(shù)遞歸調(diào)用
2.5 數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)訪問
2.5.1 數(shù)組
2.5.2 指針
2.5.3 引用
2.5.4 動(dòng)態(tài)空間管理
習(xí)題
第3章 類與對(duì)象
3.1 理解類
3.2 類的定義與實(shí)現(xiàn)
3.2.1 類的定義
3.2.2 類的實(shí)現(xiàn)
3.3 對(duì)象定義及訪問
3.3.1 對(duì)象的定義
3.3.2 對(duì)象的訪問
3.4 構(gòu)造函數(shù)和析構(gòu)函數(shù)
3.4.1 構(gòu)造函數(shù)
3.4.2 析構(gòu)函數(shù)
3.5 拷貝構(gòu)造函數(shù)
3.5.1 淺拷貝與深拷貝
3.5.2 標(biāo)記拷貝構(gòu)造
3.5.3 函數(shù)參數(shù)與返回值
3.6 對(duì)象數(shù)組
3.7 this關(guān)鍵字
3.8 static成員
3.8.1 static數(shù)據(jù)成員
3.8.2 static函數(shù)成員
3.9 const成員和const對(duì)象
3.9.1 const數(shù)據(jù)成員
3.9.2 const函數(shù)成員
3.9.3 const對(duì)象
3.10 友元函數(shù)和友元類
3.10.1 友元函數(shù)
3.10.2 友元成員函數(shù)
3.10.3 友元類
3.11 類組合關(guān)系
3.12 案例分析
……
第4章 運(yùn)算符重載
第5章 繼承
第6章 多態(tài)
第7章 模板
第8章 異常處理
第9章 輸入輸出操作
第10章 Windows編程
附錄A UML類圖簡(jiǎn)介
附錄B 預(yù)處理
附錄C 命名空間
參考文獻(xiàn)