由劉嘉敏、馬廣焜、常燕、朱世鐵編著的《C 面向?qū)ο蟪绦蛟O(shè)計雙語教程(第2版普通高等院校十三五規(guī)劃教材)》從面向?qū)ο蟪绦蛟O(shè)計的特點出發(fā),分章節(jié)循序漸進(jìn)地介紹了面向?qū)ο蟮南嚓P(guān)概念及運(yùn)用C 實現(xiàn)的過程,并輔以大量程序清單。同時書中在各個章節(jié)起始處明確了章節(jié)學(xué)習(xí)目標(biāo),且在全書中重要知識點處均有提示,各章末尾有本章出現(xiàn)的重要的詞匯注解和本章相應(yīng)的練習(xí)題,有助于讀者理解書中內(nèi)容,幫助讀者掌握面向?qū)ο缶幊谭椒āH珪卜?章, 具體內(nèi)容包括:導(dǎo)論、基本工具、類和對象(1)、類和對象(2)、運(yùn)算符重載、繼承、多態(tài)性和虛函數(shù)、模板。
Chapter 1 Introduction
1.1 Overview of Programming
1.1.1 What Is Programming?
1.1.2 How Do We Write a Program?
1.2 The Evolution of Programming Language
1.2.1 Assembly and Machine Languages
1.2.2 Early Languages
1.2.3 Later-Generation Languages
1.2.4 Modem Languages
1.3 Programming Methodologies
1.3.1 Structured Programming
1.3.2 Object-Oriented Programming
1.4 Object-Oriented Programming
1.5 C Programming Language
1.5.1 History of CandC
1.5.2 Learning C
Word Tips
Exercises
Chapter 2 Basic Facilities
2.1 C Program Structure
2.2 Input / Output Streams
2.3 Constant
2.4 Functions
2.4.1 Function Declarations
2.4.2 Function Definitions
2.4.3 Default Arguments
2.4.4 Inline Functions
2.4.5 Overloading Functions
2.5 References
2.5.1 Reference Definition
2.5.2 Reference Variables as Parameters
2.5.3 References as Value-Returning
2.5.4 References as Left-Hand Values
2.6 Namespaces
Word Tips
Exercises
Chapter 3 Classes and Objects (Ⅰ)
3.1 Structures
3.1.1 Defining a Structure
3.1.2 Accessing Members of Structures
3.1.3 Structures with Member Functions
3.2 Data Abstraction and Classes
3.2.1 Data Abstraction
3.2.2 Defining Classes
3.2.3 Defining Objects
3.2.4 Accessing Member Functions
3.2.5 In-Class Member Function Definition
3.2.6 File Structure of an Abstract Data Type
3.3 Information Hiding
3.4 Access Control
3.5 Constructors
3.5.1 Overloading Constructors
3.5.2 Constructors with Default Parameters
3.6 Destructors
3.6.1 Definition of Destructors
3.6.2 Order of Constructor and Destructor Calls
3.7 Encapsulation
3.8 Case Study: A GradeBook Class
Word Tips
Exercises
Chapter 4 Classes and Objects (Ⅱ)
4.1 Constant Member Functions and Constant Objects
4.2 this Pointers
4.3 Static Members
4.3.1 Static Data Members
4.3.2 Static Member Functions
4.4 Free Store
4.5 Objects as Members of Classes
4.6 Copy Members
4.6.1 Definition of Copy Constructors
4.6.2 Shallow Copy and Deep Copy
4.7 Arrays of Objects
4.7.1 Initialize an Array of Objects by Using a Default Constructor
4.7.2 Initialize an Array of Objects by Using Constructors with Parameters
4.8 Friends
4.8.1 Friend Functions
4.8.2 Friend Classes
4.9 Case Study : Examples of Used-defined Types
4.9.1 A Better Date Class
4.9.2 A GradeBook Class with Objects of the Student Class
Word Tips
Exercises
Chapter 5 Operator Overloading
5.1 Why Operator Overloading Is Need
5.2 Operator Functions
5.2.1 Overloaded Operators
5.2.2 Operator Functions
5.3 Binary and Unary Operators
5.3.1 Overloading Binary Operators
5.3.2 Overloading Unary Operators
5.4 Overloading Combinatorial Operators
5.5 Mixed Arithmetic of User-Defined Types
5.6 Type Conversion of User-Defined Types
5.7 Examples of Operator Overloading
5.7.1 A Complex Number Class
5.7.2 A String Class
Word Tips
Exercises
Chapter 6 Inheritance
6.1 Class Hierarchies
6.2 Derived Classes
6.2.1 Declaration of Derived Classes
6.2.2 Structure of Derived Classes
6.3 Constructors and Destructors of Derived Classes
6.3.1 Constructors of Derived Classes
6.3.2 Destructors of Derived Classes
6.3.3 Order of Calling Class Objects
6.3.4 Inheritance and Composition
6.4 Member Functions of Derived Classes
6.5 Access Control
6.5.1 Access Control in Classes
6.5.2 Access to Base Classes
6.6 Multiple Inheritance
6.6.1 Declaration of Multiple Inheritance
6.6.2 Constructors of Multiple Inheritance
6.7 Virtual Inheritance
6.7.1 Multiple Inheritance Ambiguities
6.7.2 Trying to Solve Inheritance Ambiguities
6.7.3 Virtual Base Classes
6.7.4 Constructing Objects of Multiple Inheritance
Word Tips
Exercises
Chapter 7 Polymorphism and Virtual Functions
7.1 Polymorphism
7.1.1 Concept of Polymorphism
7.1.2 Binding
7.2 Virtual Functions
7.2.1 Definition of Vitual Functions
7.2.2 Extensibility
7.2.3 Principle of Virtual Functions
7.2.4 Virtual Destructors
7.2.5 Function Overloading and Function Overriding
7.3 Abstract Base Classes
7.4 Case Study: A Mini System
Word Tips
Exercises
Chapter 8 Templates
8.1 Template Mechanism
8.2 Function Templates and Template Functions
8.2.1 Why We Use Function Templates?
8.2.2 Definition of Function Templates
8.2.3 Function Template Instantiation
8.2.4 Function Template with Different Parameter Types
8.2.5 Function Template Overloading
8.3 Class Templates and Template Classes
8.3.1 Definition of Class Templates
8.3.2 Class Template Instantiation
8.4 Non-Type Parameters for Templates
8.5 Derivation and Class Templates
8.6 Case Study : An Example of the Vector Class Template
Word Tips
Exercises
References