TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
C++高級程序設計教程(簡體書)
滿額折

C++高級程序設計教程(簡體書)

人民幣定價:59 元
定  價:NT$ 354 元
優惠價:87308
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:9 點
相關商品
商品簡介
目次
書摘/試閱

商品簡介

本書系統地講解了C++的語法規則,重點介紹了面向對象程序設計方法。全書分為10章,包括C++編程簡介、C++語言的基礎知識、C++在非面向對象方面的常用新特性、類和對象、關于類和對象的進一步討論、運算符的重載、類的繼承與派生、多態性和虛函數,以及模板、字符串和異常,C++的輸入與輸出。
每章內容包括學習目標、綜合實例、習題等環節,在體系結構上力求分散難點、突出重點,在語言敘述上邏輯清晰,引入了較多的示例并對示例中涉及的語法、編寫思路和輸出結果進行詳盡的解釋和分析,通過案例教學法讓內容深入淺出,所有的示例都在Visual Studio C++環境下運行通過。本書配有相應的教學課件、習題答案以及所有示例、綜合實例的源代碼。
本書可以作為高等學校計算機專業以及軟件學院、高職院校計算機專業“面向對象程序設計(C++程序設計)”課程的教材。

目次

第1章C++編程簡介
1.1面向對象的方法
1.1.1面向對象編程
1.1.2面向對象方法的由來
1.1.3面向對象的語言
1.2面向對象的基本概念
1.2.1類和對象
1.2.2面向對象的特點
1.3C和C++的關系
1.4C++程序的編寫和實現
1.4.1用C++語言編寫程序
1.4.2對源程序進行編譯
1.4.3對目標文件進行鏈接
1.4.4運行程序
1.4.5分析運行結果
1.5如何用Visual Studio 2010編寫C++程序
1.5.1Visual Studio 2010編程環境
1.5.2Visual Studio 2010的啟動
1.5.3新建一個C++項目
1.5.4Visual Studio 2010界面介紹
綜合實例
本章小結
習題
第2章C++語言的基礎知識
2.1標識符與關鍵字
2.1.1標識符
2.1.2關鍵字
2.2常量與變量
2.2.1常量
2.2.2變量
2.3運算符與表達式
2.3.1算術運算符
2.3.2關系運算符
2.3.3邏輯運算符
2.3.4條件運算符
2.3.5位運算符
2.4語句及其流程控制
2.4.1語句
2.4.2if…else選擇結構
2.4.3switch選擇結構
2.4.4while語句
2.4.5do…while語句
2.4.6for循環結構
2.4.7程序中止函數exit()
2.5函數
2.5.1函數的結構和函數的定義
2.5.2函數名重載
2.5.3遞歸函數
2.5.4C++庫函數
2.6構造數據類型
2.6.1數組
2.6.2一維數組
2.6.3多維數組
2.7指針
2.7.1指針類型與指針的聲明
2.7.2指針變量的引用
2.7.3指向指針的指針
2.7.4指針的運算
2.8數組與指針的關系
2.8.1一維數組指針的表示法
2.8.2二維數組指針的表示法
2.8.3指針與字符串
2.8.4指針數組
2.8.5指針與函數
2.8.6數組指針作為函數參數
2.8.7指向函數的指針
2.8.8返回指針的函數
2.8.9main函數中的參數
2.9結構體、共用體和枚舉數據類型
2.9.1結構體類型概述
2.9.2結構體類型變量的定義和引用
2.9.3結構體數組
2.9.4結構體型函數參數以及返回結構體類型值的函數
2.9.5結構體變量和指針
2.9.6枚舉類型數據
2.9.7用typedef定義類型
綜合實例
本章小結
習題
第3章C++在非面向對象方面的常用新特性
3.1C++的輸入與輸出簡介
3.1.1用cout輸出數據流
3.1.2用cin輸入數據流
3.2用const定義常量
3.3函數的重載
3.4有默認參數的函數
3.5引用
3.5.1引用的概念
3.5.2將引用作為函數的參數
3.5.3引用和指針的區別
3.5.4常指針與常引用
3.5.5引用小結
3.6動態分配內存
3.6.1new關鍵字
3.6.2delete運算符
3.7布爾類型
3.8函數原型
3.9作用域運算符
3.10內置函數
3.11C++的注釋
綜合實例
本章小結
習題
第4章類和對象
4.1面向對象的概念
4.1.1概述
4.1.2面向對象程序設計
4.1.3類和對象簡介
4.1.4封裝性
4.1.5抽象
4.1.6繼承性
4.1.7多態性
4.1.8面向對象程序設計的特點
4.1.9面向對象的軟件工程
4.2類
4.2.1類和對象的關系
4.2.2類的定義
4.2.3類和結構體的區別
4.3對象的創建
4.4類的成員函數
4.4.1成員函數的特性
4.4.2內部函數
4.4.3在類外定義成員函數
4.4.4成員函數的存儲方式
4.5對象成員的引用
4.5.1通過對象名和成員運算訪問對象中的成員
4.5.2通過對象的引用變量訪問對象中的成員
4.6構造函數
4.6.1對象的初始化
4.6.2構造函數的作用
4.6.3構造函數的種類
4.6.4用參數初始化表對數據成員初始化
4.6.5構造函數的重載
4.6.6使用默認參數的構造函數
4.7析構函數
4.8對象數組
4.8.1對象數組的定義
4.8.2對象數組的初始化
4.9對象指針
4.9.1指向對象的指針
4.9.2指向對象成員的指針
4.9.3this指針
4.10對象成員
4.11對象創建時內存的動態分配
綜合實例
本章小結
習題
第5章關于類和對象的進一步討論
5.1類的封裝性
5.1.1公用接口與私有實現的分離
5.1.2類聲明和成員函數定義的分離
5.2作用域和可見性
5.2.1標識符的作用域
5.2.2可見性
5.2.3程序實體的生存期
5.2.4C++的存儲屬性
5.3類的靜態成員
5.3.1類靜態成員
5.3.2類靜態成員函數
5.4友元
5.4.1友元函數
5.4.2友元類
5.5類模板的基本概念
5.6結構體和類
5.7聯合體和類
5.8共享數據的保護
5.8.1常對象
5.8.2用const修飾的類成員
5.8.3常引用
5.8.4指向對象的常指針
5.8.5指向常對象的指針變量
5.9類模板的進一步討論
綜合實例
本章小結
習題
第6章運算符的重載
6.1運算符重載的一般概念
6.2重載運算符的實現
6.2.1重載為類的成員函數
6.2.2重載為類的友元函數
6.3單目運算符重載
6.4雙目運算符重載
6.5特殊運算符重載
6.5.1賦值運算符重載
6.5.2下標運算符重載
6.5.3比較運算符重載
6.5.4new和delete運算符重載
6.5.5逗號運算符重載
6.5.6類型轉換運算符重載
6.5.7 運算符重載
6.5.8函數調用運算符重載
6.5.9I/O運算符重載
綜合實例
本章小結
習題
第7章類的繼承與派生
7.1繼承與派生的概念
7.2單繼承
7.2.1單繼承和派生
7.2.2重名成員
7.3繼承中的構造函數與析構函數
7.3.1繼承中的構造函數
7.3.2析構函數
7.4多繼承與虛基類
7.4.1多繼承
7.4.2多繼承中的二義性和支配原則
7.4.3虛基類
綜合實例
本章小結
習題
第8章多態性和虛函數
8.1C++多態的概念
8.1.1多態概念的引入
8.1.2構成多態的條件
8.2虛函數
8.3虛析構函數
8.4純虛函數和抽象類
綜合實例
本章小結
習題
第9章模板、字符串和異常
9.1C++函數模板
9.2模板類
9.2.1模板類的定義
9.2.2模板類的實例化
9.3C++模板中的函數式參數
9.4C++中的string類和字符串
9.4.1string類的定義
9.4.2轉換為char數組字符串
9.4.3string字符串的輸入與輸出
9.5C++中string字符串的訪問和拼接
9.5.1訪問字符串中的字符
9.5.2字符串的拼接
9.6C++中string字符串的增、刪、改、查
9.6.1插入字符串
9.6.2刪除字符串
9.6.3提取子字符串
9.6.4字符串的查找
9.7C++異常處理
9.7.1C++的異常引入
9.7.2捕獲異常
9.7.3異常的類型
9.8用throw拋出異常
9.8.1throw關鍵字
9.8.2不被建議的用法
9.9C++中的exception類
綜合實例
本章小結
習題
第10章C++的輸入與輸出
10.1C++輸入與輸出的概念
10.1.1輸入與輸出
10.1.2C++的I/O相對于C的發展
10.2與C++輸入和輸出有關的類和對象
10.2.1輸入輸出流類的概念
10.2.2與iostream類庫有關的頭文件
10.2.3在iostream頭文件中定義的流對象
10.2.4在iostream頭文件中重載運算符
10.3C++標準輸出流詳解
10.3.1cout流對象
10.3.2cerr流對象
10.3.3clog流對象
10.4C++格式化輸出
10.4.1用控制符控制輸出格式
10.4.2用流對象的成員函數控制輸出格式
10.5用C++流成員函數put輸出單個字符
10.6cin輸入流詳解
10.7用get()函數讀入一個字符
10.7.1不帶參數的get函數
10.7.2有一個參數的get函數
10.7.3有三個參數的get函數
10.8用getline()函數讀入一行字符
10.9一些與輸入有關的istream類成員函數
10.9.1eof函數
10.9.2peek函數
10.9.3putback函數
10.9.4ignore函數
10.10C++中文件的概念
10.11C++中的文件流類與文件流對象
10.12文件的打開與關閉
10.12.1打開文件
10.12.2關閉磁盤文件
10.13對ASCII文件的讀寫操作
10.14對二進制文件的讀寫操作
10.14.1用成員函數read和write讀寫二進制文件
10.14.2與文件指針有關的流成員函數
10.14.3隨機訪問二進制數據文件
10.15對字符串流的讀寫操作
10.15.1建立輸出字符串流對象
10.15.2建立輸入字符串流對象
10.15.3建立輸入輸出字符串流對象
綜合實例
本章小結
習題

書摘/試閱

第5章關于類和對象的進一步討論
本章學習目標:
掌握類的封裝性概念;
掌握作用域與可見性;
理解并會用友元;
理解模板的概念。
5.1類的封裝性
5.1.1公用接口與私有實現的分離
C++的封裝性是把數據和有關這些數據的操作封裝在一個類中,或者說類的作用是把數據和算法封裝在用戶聲明的抽象數據類型中。
實際上,用戶往往并不關心類的內部是如何實現的,而只需知道調用哪個函數會得到什么結果,或者能實現什么功能。類似于電視機類,用戶只需知道如何用,而不用去關心它內部的電路板是如何工作的。所以在聲明了一個類以后,用戶主要通過調用公有的成員函數來實現類提供的功能(例如對數據成員設置值、顯示數據成員的值、對數據進行加工等)。因此,公有成員函數是用戶使用類的公有接口(public interface),或者說是類的對外接口。
當然并不是必須要把所有成員函數都指定為public(公有)的,如果指定為private,這時這些成員函數就不是公有接口了。
在類中被操作的數據是私有的,實現的細節對用戶來說是隱蔽的,這種實現稱為私有實現(private implementation)。這種“類的公有接口與私有實現的分離”形成了信息隱蔽。在類外雖然不能直接訪問私有數據成員,但可以通過調用公有成員函數來引用甚至修改私有數據成員。
軟件工程的一個最基本的原則就是將接口與實現分離,信息隱蔽是軟件工程中的一個非常重要的概念。它的好處如下:
(1) 如果想修改或擴充類的功能,只需修改本類中有關的數據成員和與它有關的成員函數,程序中類外的部分不必修改。
(2) 如果在編譯時發現類中的數據讀寫有錯,不必檢查整個程序,只需檢查本類中訪問這些數據的少數成員函數。
5.1.2類聲明和成員函數定義的分離
1. 類聲明和成員函數分離的一般做法
在面向對象的程序開發中,一般做法是將類的聲明(其中包含成員函數的聲明)放在指定的頭文件中,如果用戶想用該類,只要把有關的頭文件包含進來即可。
由于在頭文件中包含了類的聲明,因此在程序中就可以用該類來定義對象。由于在類體中包含了對成員函數的聲明,在程序中就可以調用這些對象的公有成員函數。
為了實現信息隱蔽,對類成員函數的定義一般不放在頭文件中,而放在另一個文件中。
【例5.1】類聲明和成員函數定義分離的例子。
可以分別寫兩個文件student.h和student.cpp,為了組成一個完整的源程序,還應當包括主函數的源文件main.h。其編譯環境的解決方案資源管理器如圖5.1所示。
……

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 308
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區