C++ 程序設計從入門到精通

雍俊海

  • 出版商: 清華大學
  • 出版日期: 2022-01-01
  • 定價: $768
  • 售價: 8.5$653
  • 語言: 簡體中文
  • 頁數: 712
  • 裝訂: 平裝
  • ISBN: 7302592373
  • ISBN-13: 9787302592372
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C++ 程序設計從入門到精通-preview-1
  • C++ 程序設計從入門到精通-preview-2
  • C++ 程序設計從入門到精通-preview-3
C++ 程序設計從入門到精通-preview-1

買這商品的人也買了...

商品描述

本書講解C++程序設計知識及其編程方法,包括結構化程序設計、面向對象程序設計、共享體、異常處理、模板與標準模板庫、字符串處理、標準輸入輸出與文件處理、MFC圖形界面程序設計、設計模式、編程規範、程序調試與測試等內容,並且每章都附有習題。本書的章節編排與內容以人們學習與認知過程為基礎,緊扣**國際標準,與公司的實際需求相匹配。本書採用特殊字體突出中心詞,以期讀者在輕松和歡樂之中迅速瞭解與掌握C++程序設計的知識和方法,並應用到實踐中去。 本書內容豐富易學,而且提供豐富例程和例句,既可以作為高等學校C++程序設計和麵向對象程序設計等課程的基礎教材,也可以作為需要使用C++語言的工程人員和科技工作者的自學參考書。

作者簡介

雍俊海,清華大學軟件學院教授、博士生導師和學術委員會主任,計算機輔助設計、圖形學與可視化研究所所長,計算機學會會士,中國工業技術軟件化產業聯盟CAD專業技術委員會副主任,計算機學會計算機輔助設計與圖形學專業委員會常委,全國技術產品文件標準化技術委員會委員,曾任IEEE形狀造型和CAD/Graphics等多個國際會議程序委員會聯合主席,國際期刊《Computers & Graphics》的Associate Editor。主要研究方向為計算機輔助設計軟件理論與技術。獲得過國家傑出青年科學基金、全國優秀博士論文獎和國際Elsevier Outstanding Service Award等榮譽。在《TOG》和《CAD》等期刊與會議上發表約200篇學術論文,負責或參與製訂17項國家標準,出版了《C程序設計》等8本書,其中教材《Java程序設計教程》獲教育部普通高等教育精品教材、北京高等教育精品教材和首屆中國大學出版社圖書獎一等獎等多個獎勵。另外,還編寫了生動有趣的個人科研科普專著《清華教授的小課堂:魔方真好玩》,減少了入門級復原魔方所需的轉動次數。這本魔方科普專著入選了教育部2019年全國中小學圖書館(室)推薦書目。

目錄大綱

1章  緒論 1
1.1  C++語言簡介 1
1.2  C++入門程序 4
1.2.1  常規項目作 4
1.2.2  C++類C部分經典入門程序 5
1.2.3  C++類C部分結構化入門程序 11
1.2.4  C++面向對象部分入門程序 15
1.3  本章小結 17
1.4  習題 17
1.4.1  練習題 17
1.4.2  思考題 18
2章  結構化程序設計 19
2.1  預備知識 19
2.1.1  標識符 19
2.1.2  關鍵字和保留字 21
2.1.3  文件包含語句 23
2.1.4  宏定義與條件編譯 24
2.2  數據類型 26
2.2.1  變量定義和聲明 27
2.2.2  布爾類型 28
2.2.3  整數係列類型 28
2.2.4  字符系列類型 30
2.2.5  浮點數類型 32
2.2.6  枚舉類型 34
2.2.7  數組類型和基於數組的字符串 36
2.2.8  指針類型與動態數組 39
2.2.9  左值引用與右值引用 42
2.2.10  自動推斷類型auto 43
2.2.11  類型別名定義typedef 44
2.2.12  常量屬性const 45
2.3  運算 46
2.3.1  算術運算 48
2.3.2  關係運算 50
2.3.3  邏輯運算 50
2.3.4  位運算 50
2.3.5  賦值類運算 53
2.3.6  條件運算 53
2.3.7  其他運算 54
2.4  控制結構 54
2.4.1  if語句和if-else語句 55
2.4.2  switch語句 57
2.4.3  for語句 60
2.4.4  while語句 64
2.4.5  do-while語句 65
2.4.6  continue語句 65
2.4.7  break語句 67
2.5  模塊劃分 68
2.5.1  函數基礎 68
2.5.2  主函數main 77
2.5.3  函數遞歸調用 78
2.5.4  函數指針類型 81
2.5.5  關鍵字static 83
2.5.6  模塊劃分的原則與過程 85
2.6  本章小結 89
2.7  習題 89
2.7.1  練習題 89
2.7.2  思考題 92
3章  面向對象程序設計基礎 93
3.1  類與對象 93
3.1.1  類聲明與類定義基礎 94
3.1.2  成員變量 94
3.1.3  位域 96
3.1.4  類對象與實例對象 97
3.1.5  構造函數 101
3.1.6  析構函數 108
3.1.7  成員函數 111
3.2  繼承性 114
3.2.1  基本定義 114
3.2.2  父子類實例對象之間的兼容性 121
3.2.3  基本原則 124
3.2.4  虛擬繼承 128
3.2.5  初始化單元和委託構造函數 133
3.2.6  構造函數與析構函數的執行順序 135
3.3  封裝性 146
3.3.1  成員的訪問方式 147
3.3.2  繼承方式和訪問方式 152
3.3.3  在繼承中的全局類 156
3.3.4  友元 160
3.4  多態性 169
3.4.1  函數重載(靜態多態性) 169
3.4.2  默認函數參數值 175
3.4.3  運算符重載 177
3.4.4  函數覆蓋(動態多態性) 183
3.5  關鍵字this 193
3.6  函數調用和關鍵字const 198
3.6.1  函數形式參數與調用參數 198
3.6.2  非靜態成員函數本身的const常量屬性 202
3.6.3  函數的返回數據類型 204
3.7  面向對象程序設計的核心思路 207
3.8  本章小結 217
3.9  習題 218
3.9.1  練習題 218
3.9.2  思考題 224
4章  共享體 225
4.1  共享體的定義與格式 225
4.2  在共享體中調用成員變量的構造函數與析構函數 228
4.3 本章小結 235
4.4 習題 235
4.4.1 練習題 235
4.4.2 思考題 235
5章  異常處理 236
5.1  異常的拋出與捕捉 236
5.2  淺拷貝和深拷貝 247
5.2.1  淺拷貝 247
5.2.2  深拷貝 251
5.3  避免內存洩漏 254
5.3.1  含有內存洩漏的例程 254
5.3.2  避開內存洩漏的方案 256
5.4  本章小結 259
5.5  習題 259
5.5.1  練習題 259
5.5.2  思考題 261
6章  模板與標準模板庫 262
6.1  自定義函數模板 262
6.2  自定義類模板 267
6.3  向量類模板vector 274
6.3.1  向量的構造函數、長度和容量 274
6.3.2  向量的迭代器 279
6.3.3  改變向量長度與容量 282
6.3.4  插入與刪除元素 283
6.3.5  向量賦值與比較 287
6.4  集合類模板set 292
6.4.1  仿函數 292
6.4.2  集合的構造函數和迭代器 294
6.4.3  修改集合內容的成員函數 301
6.4.4  用於查詢的集合成員函數 306
6.4.5  集合賦值與比較 311
6.5  排序函數模板sort 319
6.6  本章小結 323
6.7  習題 324
6.7.1  練習題 324
6.7.2  思考題 325
7章  字符串處理 326
7.1  輸出單個字符 326
7.2  基於數組的窄與寬字符串轉換 328
7.3  字符串類 342
7.3.1  字符串的構造函數 343
7.3.2  字符串的容量與長度 346
7.3.3  獲取字符串的內容與子串 350
7.3.4  字符串賦值與比較大小 353
7.3.5  字符串迭代器 360
7.3.6  插入與刪除 366
7.3.7  查找與替換以及交換 377
7.3.8  基於字符串類的長整數案例 406
7.4  本章小結 412
7.5  習題 413
7.5.1  練習題 413
7.5.2  思考題 415
8章  標準輸入輸出與文件處理 416
8.1  標準輸入輸出 416
8.1.1  出入流類ios 417
8.1.2  輸入流類istream 422
8.1.3  輸出流類ostream 436
8.1.4  格式控制 443
8.2  文件流 451
8.2.1  只讀文件流類ifstream 452
8.2.2  只寫文件流類ofstream 464
8.2.3  讀寫文件流類fstream 469
8.3  習題 478
8.3.1  練習題 478
8.3.2  思考題 480
9章  MFC圖形界面程序設計 482
9.1  MFC程序總述 483
9.2  單文檔程序設計 484
9.3  圖形繪製 504
9.4  多文檔程序設計 517
9.5  基於對話框的MFC程序設計 539
9.6  基於功能區(Ribbon)的MFC程序設計 548
9.7  本章小結 562
9.8  習題 563
9.8.1  練習題 563
9.8.2  思考題 566
10章  設計模式 567
10.1  單體模式 568
 10.1.1  傳統的單體模式解決方案 568
 10.1.2  無內存洩漏的單體模式解決方案 571
10.2  適配器模式 575
 10.2.1  接口類和接口適配器類 576
 10.2.2  對象適配器模式 578
 10.2.3  類適配器模式 582
10.3  策略模式 586
10.4  工廠方法模式 590
10.5  本章小結 601
10.6  習題 602
 10.6.1  練習題 602
 10.6.2  思考題 603
11章  編程規範 604
11.1  命名空間 604
11.2  代碼組織規範 610
 11.2.1  文件組織規範 610
 11.2.2  頭文件內容規範 611
 11.2.3  源文件內容規範 614
11.3  內聯函數 617
11.4  命名規範 627
 11.4.1  文件名 629
 11.4.2  命名空間、類型命名和關鍵字typedef 629
 11.4.3  函數、函數模板和變量的命名 630
 11.4.4  枚舉成員、宏和只讀變量的命名 631
 11.4.5  本書所用的命名規範 632
11.5  排版規範 633
 11.5.1  製表符與縮進 634
 11.5.2  空白行與空格 636
 11.5.3  行數與每行字符數 636
11.6  語句規範 638
 11.6.1  函數相關的語句規範 639
 11.6.2  類型與變量相關的語句規範 640
 11.6.3  簡潔且無歧義的表達式 642
 11.6.4  循環語句與空語句 646
 11.6.5  給語句添加註釋 646
11.7  本章小結 647
11.8  習題 648
 11.8.1  練習題 648
 11.8.2  思考題 650
12章  程序調試與測試 651
12.1  程序調試 651
 12.1.1  斷言 651
 12.1.2  設置斷點與查看即時信息 653
 12.1.3  查看函數堆棧 656
 12.1.4  編寫調試日誌文件程序 658
12.2  程序測試 662
 12.2.1  程序測試基本概念 663
 12.2.2  窮舉測試 664
 12.2.3  黑盒測試 674
 12.2.4  白盒測試 679
12.3  本章小結 682
12.4  習題 682
 12.4.1  練習題 682
 12.4.2  思考題 684
附錄A  例程的索引 685
附錄B  函數、宏和運算符的索引 688
參考文獻 697