C++面向對象程式設計(2010年西安電子科技大學出版社出版的圖書)

C++面向對象程式設計(2010年西安電子科技大學出版社出版的圖書)

《C++面向對象程式設計》是由李蘭、任鳳華、和溫編著,2010年西安電子科技大學出版社出版的高等學校計算機專業“十一五”規劃教材。該教材可作為高等院校計算機及相關專業“C++面向對象程式設計”課程的教材,也可作為從事計算機開發和套用的工程技術人員的參考書。同時,也適合初學程式設計或有一定編程實踐基礎、希望突破編程難點的讀者作為自學教材。

該教材根據“面向對象程式設計”課程的基本教學要求,針對面向對象的本質和特性,講解了面向對象程式設計的基本理論和基本方法,闡述了用C++語言實現面向對象基本特性的關鍵技術。全書共9章,內容主要包括:面向對象程式設計概述、C++語言基礎、封裝性、繼承性、運算符重載、多態性、模板和STL、輸入/輸出流、異常處理等。

基本介紹

  • 書名:C++面向對象程式設計
  • 作者:李蘭、任鳳華、和溫
  • ISBN:9787560624440
  • 類別:高等學校計算機專業“十一五”規劃教材
  • 頁數:356頁
  • 出版社:西安電子科技大學出版社
  • 出版時間:2010年9月
  • 裝幀:平裝
  • 開本:16開
  • 字數:535千字
  • CIP核字號:2010151557
成書過程,修訂過程,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂過程

該教材由李蘭主編並統稿。具體編寫分工如下:李蘭編寫第1、2、3、5、6、7章,任鳳華編寫第4章及第8、9章的部分內容,王金龍參與編寫第8、9章的初稿,熊曉芸編寫部分章節的常見錯誤。

出版工作

2010年9月,該教材由西安電子科技大學出版社出版。
出版社工作人員
策劃責任編輯
陳婷
許青青、陳婷

內容簡介

全書共9章。第1章面向對象程式設計概述,闡述了C++的主要特點;第2章C++語言基礎,講述了各種常見的數據類型,各種表達式及其求值,表達式的優先權、結合性,順序結構、選擇結構和循環結構三種基本結構及其相應的控制語句,變數的存儲和作用域,程式的檔案結構及編譯預處理命令;第3章函式,主要介紹了C++中函式的定義與聲明、函式調用、函式重載和內聯函式等內容;第4章類與對象,講解了C++中類的定義、對象的創建、對象成員的訪問,以及友元與靜態成員等基本內容。
第5章繼承,著重介紹了C++的基類和派生類,單繼承、多繼承等繼承方法,二義性和虛基類等;第6章多態與虛函式,介紹了多態性,重點介紹了運算符重載、虛函式和抽象類;第7章模板,介紹了模板編程方法,並對模板容易出現的編程問題進行了詳細的討論;第8章輸入/輸出(I/O)流,重點討論了標準輸入/輸出流類、檔案操作與檔案流類;第9章異常處理,主要介紹了C++中異常的概念、基本原理以及異常處理方法和多路捕獲。該教材前3章屬於基礎部分,後6章屬於面向對象的程式設計部分。

教材目錄

第1章 面向對象程式設計概述(Introduction to Object-Oriented Programming)1
1.1 電腦程式設計語言的發展(Computer Programming Languages Development)1
1.1.1 程式設計語言概述(Introduction to Programming Languages)1
1.1.2 機器語言與彙編語言(Machine Language and Assemble Language)2
1.1.3 高級語言(Advanced Language)3
1.1.4 面向對象語言(Object-Oriented Programming Language)3
1.2 程式設計方法(Programming Methodology)4
1.2.1 結構化程式設計方法(Structured Programming)4
1.2.2 面向對象程式設計方法(Objected-Oriented Programming)5
1.3 面向對象程式設計的基本特點(Basic Feature of Object-Oriented Programming)8
1.3.1 抽象(Abstract)8
1.3.2 封裝(Encapsulation)9
1.3.3 訊息(Message)9
1.3.4 繼承(Inheritance)10
1.3.5 多態(Polymorphism)11
1.4 簡單的C++程式(Simple C++ Programs)11
本章小結(Chapter Summary)14
習題1(Exercises 1)14
第2章 C++語言基礎(C++ Language Basics)17
2.1 C++字元集和關鍵字(C++ Character Set and Keywords)17
2.1.1 字元集(Character Set)17
2.1.2 標識符(Identifier)17
2.1.3 關鍵字(Keywords)18
2.1.4 其他標識(Other Identifiers)18
2.2 基本數據類型和表達式(Basic Data Types and Expressions)19
2.2.1 C++的基本數據類型(C++ Basic Data Types)20
2.2.2 常量(Constants)21
2.2.3 變數(Variables)23
2.2.4 表達式(Expressions)25
2.3 運算符與表達式(Operators and Expressions)25
2.3.1 算術運算符與算術表達式(Arithmetic Operators and Arithmetic Expressions)26
2.3.2 關係運算與邏輯運算(Relation Operate and Logic Operate)27
2.3.3 賦值運算符與賦值表達式(Assignment Operator and Assignment Expression)28
2.3.4 條件運算符與逗號表達式(Condition Operator and Comma Expression)30
2.3.5 表達式的副作用和表達式語句(Expression Side-Effect and Expression Statement)31
2.4 C++程式的基本控制結構(Basic Control Structure of C++ Program)33
2.4.1 程式的結構與控制(Program Structure and Control)33
2.4.2 順序結構程式設計(Sequence Structure Programming)34
2.4.3 選擇結構程式設計(Branching Structure Programming)41
2.4.4 循環結構程式設計(Looping Structure Programming)47
2.5 動態記憶體分配(Dynamic Storage Allocation)51
2.5.1 動態記憶體(About Dynamic Storage Allocation)51
2.5.2 new和delete運算符(new and delete Operators)51
2.6 常見編程錯誤(Common Programming Errors)53
本章小結(Chapter Summary)54
習題2(Exercises 2)54
第3章 函式(Functions)64
3.1 函式的定義和聲明(Function Definition and Declaration)64
3.1.1 函式的定義(Function Definition)65
3.1.2 函式的聲明(Function Declaration)67
3.1.3 函式值和函式類型(Function Values and Function Types)69
3.2 函式的調用與參數傳遞(Function Call and Parameter Passing)71
3.2.1 函式的調用(Function Call)71
3.2.2 函式調用時的參數傳遞(Parameter Passing)72
3.2.3 函式的嵌套調用和遞歸調用(Function Nesting Call and Recursion Call)76
3.3 內聯函式(Inline Functions)82
3.4 函式重載(Function Overloading)85
3.4.1 函式重載的定義(Definition of Function Overloading)85
3.4.2 函式重載的綁定(Binding of Function Overloading)86
3.5 帶默認形參值的函式(Function with Default Arguments)87
3.6 作用域與生存期(Scopes and Lifetime)89
3.6.1 標識符的作用域(Identifiers Scopes)89
3.6.2 局部變數與全局變數(Local Variables and Global Variables)92
3.6.3 動態變數與靜態變數(Dynamic Variables and Static Variables)97
3.6.4 變數的存儲類型(Variables Storage Types)97
3.6.5 生存期(Lifetime)104
3.6.6 名字空間(Name Space)105
3.7 多檔案結構(Multi-File Structure)111
3.8 常見編程錯誤(Common Programming Errors)112
本章小結(Chapter Summary)113
習題3(Exercises 3)114
第4章 類與對象(Classes and Objects)121
4.1 類和對象(Classes and Objects)121
4.1.1 類與抽象數據類型(Class and Abstract Data Types)121
4.1.2 類的聲明和定義(Classes Declarations and Definitions)122
4.1.3 類的函式成員的實現(Classes Member Functions)123
4.1.4 類和對象(Classes and Objects)124
4.1.5 類的訪問屬性(Access Controls in Classes)124
4.2 構造函式與析構函式(Constructors and Destructor)127
4.2.1 構造函式(Constructors)127
4.2.2 預設構造函式(Default Constructors)128
4.2.3 拷貝構造函式(Copy Constructors)129
4.2.4 轉換構造函式(Convert Constructors)133
4.2.5 析構函式(Destructor)134
4.3 常成員(Constant Members)136
4.3.1 const修飾符(const Modifier)136
4.3.2 常數據成員(Constant Data Members)137
4.3.3 常函式成員(Constant Function Members)138
4.4 指向對象的指針(Pointer to Object)140
4.4.1 對象指針(Object Pointer)140
4.4.2 this指針(this Pointer)141
4.5 靜態成員與友元(Static Members and Friend)141
4.5.1 靜態數據成員與靜態函式成員(Static Data Members and Function Members)142
4.5.2 友元函式與友元類(Friend Functions and Friend Classes)145
4.6 常見編程錯誤(Common Programming Errors)149
本章小結(Chapter Summary)153
習題4(Exercises 4)154
第5章 繼承(Inheritance)160
5.1 繼承與派生(Inheritance and Derivation)160
5.1.1 繼承的概念(Inheritance Concept)161
5.1.2 派生類的聲明(Declaration of Derived Classes)162
5.2 派生類的訪問控制(Derived Classes Access Control)165
5.2.1 公有繼承(Public Inheritance)165
5.2.2 私有繼承(Private Inheritance)167
5.2.3 保護繼承(Protected Inheritance)168
5.3 派生類的構造函式與析構函式(Derived Classes Constructors and Destructors)173
5.3.1 派生類的構造函式(Derived Classes Constructors)173
5.3.2 派生類構造函式調用規則(Derived Classes Constructors Call Rules)174
5.3.3 派生類的析構函式(Derived Classes Destructors)180
5.4 多繼承(Multi-Inheritance)182
5.4.1 多繼承概念(Multi-Inheritance Concept)182
5.4.2 多繼承中的二義性問題及其解決(Ambiguity in Muti-Inheritance and Solutions)184
5.4.3 多繼承中構造函式和析構函式的調用順序(Constructors and Destructors under
Multi-Inheritance Call Order)189
5.5 虛基類(Virtual Base Classes)192
5.5.1 多繼承派生的基類拷貝(Base Classes Copy under Multi-Inheritance)192
5.5.2 虛基類的定義(Definition of Virtual Base Classes)194
5.5.3 虛基類的構造與析構(Constructing and Destructing Virtual Base Classes)196
5.6 賦值兼容規則(Compatible Assignment Rules)196
5.7 程式舉例(Program Examples)199
5.8 常見編程錯誤(Common Programming Errors)207
本章小結(Chapter Summary)210
習題5(Exercises 5)210
第6章 多態與虛函式(Polymorphism and Virtual Functions)222
6.1 靜態聯編和動態聯編(Static Binding and Dynamic Binding)222
6.1.1 靜態聯編(Static Binding)223
6.1.2 動態聯編(Dynamic Binding)226
6.2 虛函式(Vitual Functions)226
6.2.1 虛函式的定義和使用(Definition and Usage of Virtual Functions)226
6.2.2 虛函式的特性(Virtual Functions Feature)229
6.3 純虛函式和抽象類(Pure Virtual Functions and Abstract Classes)234
6.3.1 純虛函式(Pure Virtual Functions)234
6.3.2 抽象類(Abstract Classes)236
6.3.3 抽象類的套用(Application of Abstract Classes)236
6.4 運算符重載(Operator Overloading)242
6.4.1 運算符重載的規則(Rules of Operator Overloading)244
6.4.2 運算符重載為成員函式(Operator Overloaded into Member Function)245
6.4.3 運算符重載為友元函式(Operator Overloaded into Friend Function)249
6.5 實例分析(Case Study)251
6.5.1 問題提出(Questions)252
6.5.2 類設計(Classes Designing)252
6.5.3 程式代碼設計(Program Coding)253
6.6 常見編程錯誤(Common Programming Errors)258
本章小結(Chapter Summary)263
習題6(Exercises 6)263
第7章 模板(Templates)268
7.1 模板的概念(Templates Concept)268
7.2 函式模板與模板函式(Function Template and Template Function)270
7.2.1 函式模板的聲明(Declaration of Function Template)270
7.2.2 函式模板(Function Template)271
7.2.3 模板函式(Template Function)271
7.2.4 重載函式模板(Overloading Function Template)275
7.3 類模板與模板類(Class Template and Template Class)278
7.3.1 類模板的定義(Definition of Class Template)278
7.3.2 類模板的使用(Usage of Class Template)280
7.3.3 類模板的友元(Friend of Class Template)282
7.3.4 類模板與靜態成員(Class Template and Static Member)285
7.4 標準模板庫STL(Standard Template Library)287
7.4.1 容器(Containers)287
7.4.2 疊代器(Iterators)294
7.4.3 算法(Algorithms)298
7.4.4 適配器(Adapters)303
7.5 常見編程錯誤(Common Programming Errors)305
本章小結(Chapter Summary)307
習題7(Exercises 7)308
第8章 輸入/輸出流(Input/Output Stream)315
8.1 流以及流類庫結構(Stream and Stream Class Library Structure)315
8.1.1 流的概念(Stream Concept)315
8.1.2 流類庫(Stream Class Library)318
8.2 非格式化的輸入和輸出(Unformatted Input and Output)320
8.3 格式化的輸入和輸出(Formatted Input and Output)321
8.3.1 ios類中定義的格式控制標誌(Formatting Flags in Class ios)321
8.3.2 操作符(Manipulator)322
8.3.3 格式化輸入和輸出的簡單套用(Simple Application of Formatted Input and Output)322
8.4 檔案的輸入和輸出(File Input and Output)324
8.4.1 檔案與流(File and Stream)324
8.4.2 檔案的打開和關閉(File Open and Close)324
8.4.3 讀/寫文本檔案(Reading and Writing Text Files)327
8.5 常見編程錯誤(Common Programming Errors)329
本章小結(Chapter Summary)330
習題8(Exercises 8)330
第9章 異常處理(Exception Handling)334
9.1 異常的概念(Exception Concept)334
9.2 異常處理機制及意義(Mechanism and Significance of Exception Handling)335
9.3 標準異常(Standard Exception)335
9.4 異常的捕獲和處理(Exception Catching and Handling)336
9.4.1 try塊(try Block)336
9.4.2 throw表達式(throw Expression)337
9.4.3 異常處理器(Exception Handler)338
9.4.4 異常規格說明(Exception Specification)339
9.4.5 捕獲所有類型的異常(Catching all kinds of Exceptions)340
9.4.6 未捕獲的異常(Uncaught Exceptions)340
9.5 異常處理中的構造與析構(Constructor and Destructor in Exception Handling)340
9.5.1 在構造函式中拋出異常(Throwing Exceptions in Constructor)341
9.5.2 不要在析構函式中拋出異常(Not to Throw Exceptions in Destructor)341
9.6 開銷(Spending)342
9.7 常見編程錯誤(Common Programming Errors)342
本章小結(Chapter Summary)344
習題9(Exercises 9)345
附錄Ⅰ 標準字元ASCII碼錶 347
附錄Ⅱ C++程式錯誤提示中英文對照表 348
參考文獻 352
(註:目錄排版順序為從左列至右列

教學資源

  • 配套教材
該教材有配套教材——《〈C++面向對象程式設計〉實驗指導及習題解析》。
書名書號出版社出版時間作者
《〈C++面向對象程式設計〉實驗指導及習題解析》
978-7-5606-2445-7
西安電子科技大學出版社
2010-09
李蘭、任鳳華
  • 課程資源
該教材配有全部的程式源檔案和電子教案。

教材特色

該教材對C++語言的基本概念、原理和方法的敘述以“概念—語法—舉例”的形式進行講解,並指出了學生常犯的錯誤和容易混淆的概念;各章均配有習題,以幫助學生理解面向對象語言和C++的性質。
該教材的主要特色體現在以下幾個方面:
  1. 編者綜合了教學及軟體設計經驗,使得該教材既具有理論性,又具有實用性。書中採用C++標準,對龐雜的知識進行了取捨,對概念進行了解釋,並結合實例及作者的教學經驗進行了說明講解;
  2. 介紹了C++面向對象程式設計的相關知識;
  3. 為了使讀者掌握C++相關知識的套用方法,不僅說明了知識點,更重要的是表明了其套用方法,以激發讀者對程式設計的興趣;
  4. 為了鞏固其中靈活、難解的語法知識,每章都有配套習題,習題包括選擇題、填空題、判斷題、閱讀程式和編程題;
  5. 該教材各章提供了常見編程錯誤。

作者簡介

李蘭,女, 青島理工大學計算機工程學院副教授,主任。

相關詞條

熱門詞條

聯絡我們