《C++面向對象程式設計》是由李蘭、任鳳華、和溫編著,2010年西安電子科技大學出版社出版的高等學校計算機專業“十一五”規劃教材。該教材可作為高等院校計算機及相關專業“C++面向對象程式設計”課程的教材,也可作為從事計算機開發和套用的工程技術人員的參考書。同時,也適合初學程式設計或有一定編程實踐基礎、希望突破編程難點的讀者作為自學教材。
該教材根據“面向對象程式設計”課程的基本教學要求,針對面向對象的本質和特性,講解了面向對象程式設計的基本理論和基本方法,闡述了用C++語言實現面向對象基本特性的關鍵技術。全書共9章,內容主要包括:面向對象程式設計概述、C++語言基礎、封裝性、繼承性、運算符重載、多態性、模板和STL、輸入/輸出流、異常處理等。
基本介紹
- 書名:C++面向對象程式設計
- 作者:李蘭、任鳳華、和溫
- ISBN:9787560624440
- 類別:高等學校計算機專業“十一五”規劃教材
- 頁數:356頁
- 出版社:西安電子科技大學出版社
- 出版時間:2010年9月
- 裝幀:平裝
- 開本:16開
- 字數:535千字
- CIP核字號:2010151557
成書過程
修訂過程
出版工作
策劃 | 責任編輯 |
---|---|
陳婷 | 許青青、陳婷 |
內容簡介
教材目錄
第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++面向對象程式設計〉實驗指導及習題解析》 | 978-7-5606-2445-7 | 西安電子科技大學出版社 | 2010-09 | 李蘭、任鳳華 |
- 課程資源
教材特色
- 編者綜合了教學及軟體設計經驗,使得該教材既具有理論性,又具有實用性。書中採用C++標準,對龐雜的知識進行了取捨,對概念進行了解釋,並結合實例及作者的教學經驗進行了說明講解;
- 介紹了C++面向對象程式設計的相關知識;
- 為了使讀者掌握C++相關知識的套用方法,不僅說明了知識點,更重要的是表明了其套用方法,以激發讀者對程式設計的興趣;
- 為了鞏固其中靈活、難解的語法知識,每章都有配套習題,習題包括選擇題、填空題、判斷題、閱讀程式和編程題;
- 該教材各章提供了常見編程錯誤。