C++面向对象程序设计双语教程(第3版)

C++面向对象程序设计双语教程(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2019-08
版次: 1
ISBN: 9787121364549
定价: 54.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 276页
10人买过
  • 本书在保持前两版特色的基础上,对部分章节内容进行了修改和补充。全书案例易懂、切合实际。本书共8章,围绕面向对象程序设计中类和对象的作用,介绍标准C++中类与对象的定义和封装、继承、重载、多态、模板的概念及实现方法。本书用通俗易懂的英语描述其内容,让初学者了解面向对象程序设计的原文表达;而且在各章节中的重要知识点和易混淆知识点处均有双语注解,有助读者掌握面向对象的程序设计方法。本书面向具有程序设计基础的读者,可作为高等院校计算机及相关专业的面向对象程序设计课程的双语教材。 刘嘉敏,现为国际SCI期刊论文评阅人。承担计算机专业硕士研究生、本科生专业课和专业基础课十多年,主持和参与辽宁省教和校级教改项目,获了省教改项目二等奖,并发表数篇教改论文。出版了全英文撰写的《C++面向对象程序设计双语教程》教材。数年从事布局优化、计算机图形学与虚拟现实的研究,曾主持和参与10多项辽宁省科技厅、省教育厅、市科委及地方企业的科研项目,并在国内外重要及核心期刊和国际会议发表学术论文30余篇,数篇论文被SCI和EI检索。 Contents
    Chapter 1  Introduction 1
    1.1  Overview of Programming 1
    1.1.1  What Is Programming? 1
    1.1.2  How to Write a Program? 3
    1.2  Programming Methodologies 5
    1.2.1  Structured Programming 5
    1.2.2  Object-Oriented Programming 8
    1.3  Characteristics of Object-Oriented Programming 10
    1.4  C++ Programming Language 13
    1.4.1  History of C and C++ 13
    1.4.2  Learning C++ 15
    Word Tips 16
    Exercises 17
    Chapter 2  Basic Facilities ― Shifting from C to C++ Programs 18
    2.1  C++ Program Structure 18
    2.2  Input/Output Streams 21
    2.2.1  Input Stream 21
    2.2.2  Output Stream 22
    2.3  Constants 23
    2.4  Functions 25
    2.4.1  Function Declarations 25
    2.4.2  Function Definitions 26
    2.4.3  Default Arguments 28
    2.4.4  Inline Functions 30
    2.4.5  Function Overloading 30
    2.5  References 35
    2.5.1  Reference Definition 35
    2.5.2  Reference Variables as Parameters 39
    2.5.3  References as Returning Values 40
    2.5.4  Reference as Left-Hand Values 42
    2.6  Namespaces 43
    Word Tips 47
    Exercises 48
    Chapter 3  Foundation of Classes and Objects―Data Abstraction and Definition 
    of Classes 52
    3.1  Introduction to Structures 52
    3.1.1  Defining a Structure in C++ 52
    3.1.2  Accessing Members of Structures 53
    3.1.3  Structures with Member Functions 55
    3.2  Data Abstraction and Classes 56
    3.2.1  Data Abstraction 56
    3.2.2  Defining Classes 57
    3.2.3  Defining Objects 58
    3.2.4  Accessing Member Functions 59
    3.2.5  In-Class Member Function Definition 61
    3.2.6  File Structure of an Abstract Data Type 63
    3.3  Information Hiding 65
    3.4  Access Control 66
    3.5  Constructors 69
    3.5.1  Definition of Constructors 69
    3.5.2  Overloading Constructors 70
    3.5.3  Constructors with Default Parameters 71
    3.6  Destructors 74
    3.6.1  Definition of Destructors 74
    3.6.2  UML Diagram for Classes 75
    3.6.3  The Order of Constructor and Destructor Calls 76
    3.7  Encapsulation 78
    3.8  Case Study: A GradeBook Class 79
    Word Tips 82
    Exercises 83
    Chapter 4  Advance of Classes and Objects ―Further Definition of Class Members 
    and Objects 87
    4.1  Constant Member Functions and Constant Objects 87
    4.2  this  Pointers 89
    4.3  Static Members 91
    4.3.1  Static Data Members 93
    4.3.2  Static Member Functions 96
    4.4  Free Store 97
    4.5  Object Members 101
    4.5.1  Definition of Object Members 101
    4.5.2  The Order of Constructors and Destructors for Member Objects 105
    4.5.3  Object Members with Default Constructors 105
    4.5.4  Class Members by Using Initializers 106
    4.6  Copy Members 107
    4.6.1  Definition of Copy Constructors 108
    4.6.2  Shallow Copy and Deep Copy 110
    4.7  Arrays of Objects 118
    4.7.1  Initialize an Object Array by Using a Default Constructor 118
    4.7.2  Initialize an Object Array by Using Constructors with Parameters 121
    4.8  Friends 122
    4.8.1  Friend Functions 122
    4.8.2  Friend Classes 125
    4.9  Case Study: Advance of the GradeBook Class 126
    Word Tips 132
    Exercises 132
    Chapter 5  Operator Overloading 137
    5.1  Introduction to Operator Overloading 137
    5.2  Operator Functions 138
    5.2.1  Overloaded Operators 138
    5.2.2  Operator Functions 138
    5.3  Binary and Unary Operators 142
    5.3.1  Overloading Binary Operators 142
    5.3.2  Overloading Unary Operators 143
    5.4  Overloading Combinatorial Operators 147
    5.5  Mixed Arithmetic of User-Defined Types 151
    5.6  Type Conversion of User-Defined Types 152
    5.6.1  Converting a Built-In Type to a User-Defined Type 152
    5.6.2  Converting User-Defined Types to Built-In Types 153
    5.7  Case Study: A MyInteger Class 155
    Word Tips 160
    Exercises 160
    Chapter 6  Inheritance 163
    6.1  Class Hierarchies 163
    6.2  Derived Classes 164
    6.2.1  Declaration of Derived Classes 164
    6.2.2  Structure of Derived Classes 165
    6.3  Constructors and Destructors of Derived Classes 168
    6.3.1  Constructors of Derived Classes 168
    6.3.2  Destructors of Derived Classes 171
    6.3.3  The Calling Order of Derived Class Objects 172
    6.3.4  Inheritance and Composition 175
    6.4  Member Functions of Derived Classes 175
    6.4.1  Defining a Member Function 175
    6.4.2  Overriding Member Functions 177
    6.5  Access Control 179
    6.5.1  Access Control in Classes 179
    6.5.2  Access to Base Classes 180
    6.6  Multiple Inheritance 184
    6.6.1  Declaration of Multiple Inheritance 185
    6.6.2  Constructors of Multiple Inheritance 187
    6.7  Virtual Inheritance 188
    6.7.1  Multiple Inheritance Ambiguities 188
    6.7.2  Trying to Solve Inheritance Ambiguities 189
    6.7.3  Virtual Base Classes 191
    6.7.4  Constructing Objects of Multiple Inheritance 194
    6.8  Case Study: The iWatch Class 195
    Word Tips 201
    Exercises 202
    Chapter 7  Polymorphism and Virtual Functions 212
    7.1  Polymorphism 212
    7.1.1  Introduction to Polymorphism 212
    7.1.2  Binding 213
    7.2  Virtual Functions 216
    7.2.1  Definition of Virtual Functions 216
    7.2.2  Extensibility 219
    7.2.3  Principle of Virtual Functions 221
    7.2.4  Virtual Destructors 223
    7.2.5  Function Overloading and Function Overriding 224
    7.3  Abstract Base Classes 227
    7.4  Case Study: A Mini System 230
    Word Tips 235
    Exercises 235
    Chapter 8  Templates 241
    8.1  Introduction to Templates 241
    8.2  Function Templates 242
    8.2.1  Definition of Function Templates 242
    8.2.2  Function Template Instantiation 244
    8.2.3  Function Template with Different Parameter Types 246
    8.2.4  Function Template Overloading 247
    8.3  Class Templates 248
    8.3.1  Definition of Class Templates 248
    8.3.2  Class Template Instantiation 251
    8.4  Non-Type Parameters for Templates 253
    8.5  Derivation and Class Templates 255
    8.6  Case Study: A Vector Class Template 256
    Word Tips 262
    Exercises 262
    References 264
  • 内容简介:
    本书在保持前两版特色的基础上,对部分章节内容进行了修改和补充。全书案例易懂、切合实际。本书共8章,围绕面向对象程序设计中类和对象的作用,介绍标准C++中类与对象的定义和封装、继承、重载、多态、模板的概念及实现方法。本书用通俗易懂的英语描述其内容,让初学者了解面向对象程序设计的原文表达;而且在各章节中的重要知识点和易混淆知识点处均有双语注解,有助读者掌握面向对象的程序设计方法。本书面向具有程序设计基础的读者,可作为高等院校计算机及相关专业的面向对象程序设计课程的双语教材。
  • 作者简介:
    刘嘉敏,现为国际SCI期刊论文评阅人。承担计算机专业硕士研究生、本科生专业课和专业基础课十多年,主持和参与辽宁省教和校级教改项目,获了省教改项目二等奖,并发表数篇教改论文。出版了全英文撰写的《C++面向对象程序设计双语教程》教材。数年从事布局优化、计算机图形学与虚拟现实的研究,曾主持和参与10多项辽宁省科技厅、省教育厅、市科委及地方企业的科研项目,并在国内外重要及核心期刊和国际会议发表学术论文30余篇,数篇论文被SCI和EI检索。
  • 目录:
    Contents
    Chapter 1  Introduction 1
    1.1  Overview of Programming 1
    1.1.1  What Is Programming? 1
    1.1.2  How to Write a Program? 3
    1.2  Programming Methodologies 5
    1.2.1  Structured Programming 5
    1.2.2  Object-Oriented Programming 8
    1.3  Characteristics of Object-Oriented Programming 10
    1.4  C++ Programming Language 13
    1.4.1  History of C and C++ 13
    1.4.2  Learning C++ 15
    Word Tips 16
    Exercises 17
    Chapter 2  Basic Facilities ― Shifting from C to C++ Programs 18
    2.1  C++ Program Structure 18
    2.2  Input/Output Streams 21
    2.2.1  Input Stream 21
    2.2.2  Output Stream 22
    2.3  Constants 23
    2.4  Functions 25
    2.4.1  Function Declarations 25
    2.4.2  Function Definitions 26
    2.4.3  Default Arguments 28
    2.4.4  Inline Functions 30
    2.4.5  Function Overloading 30
    2.5  References 35
    2.5.1  Reference Definition 35
    2.5.2  Reference Variables as Parameters 39
    2.5.3  References as Returning Values 40
    2.5.4  Reference as Left-Hand Values 42
    2.6  Namespaces 43
    Word Tips 47
    Exercises 48
    Chapter 3  Foundation of Classes and Objects―Data Abstraction and Definition 
    of Classes 52
    3.1  Introduction to Structures 52
    3.1.1  Defining a Structure in C++ 52
    3.1.2  Accessing Members of Structures 53
    3.1.3  Structures with Member Functions 55
    3.2  Data Abstraction and Classes 56
    3.2.1  Data Abstraction 56
    3.2.2  Defining Classes 57
    3.2.3  Defining Objects 58
    3.2.4  Accessing Member Functions 59
    3.2.5  In-Class Member Function Definition 61
    3.2.6  File Structure of an Abstract Data Type 63
    3.3  Information Hiding 65
    3.4  Access Control 66
    3.5  Constructors 69
    3.5.1  Definition of Constructors 69
    3.5.2  Overloading Constructors 70
    3.5.3  Constructors with Default Parameters 71
    3.6  Destructors 74
    3.6.1  Definition of Destructors 74
    3.6.2  UML Diagram for Classes 75
    3.6.3  The Order of Constructor and Destructor Calls 76
    3.7  Encapsulation 78
    3.8  Case Study: A GradeBook Class 79
    Word Tips 82
    Exercises 83
    Chapter 4  Advance of Classes and Objects ―Further Definition of Class Members 
    and Objects 87
    4.1  Constant Member Functions and Constant Objects 87
    4.2  this  Pointers 89
    4.3  Static Members 91
    4.3.1  Static Data Members 93
    4.3.2  Static Member Functions 96
    4.4  Free Store 97
    4.5  Object Members 101
    4.5.1  Definition of Object Members 101
    4.5.2  The Order of Constructors and Destructors for Member Objects 105
    4.5.3  Object Members with Default Constructors 105
    4.5.4  Class Members by Using Initializers 106
    4.6  Copy Members 107
    4.6.1  Definition of Copy Constructors 108
    4.6.2  Shallow Copy and Deep Copy 110
    4.7  Arrays of Objects 118
    4.7.1  Initialize an Object Array by Using a Default Constructor 118
    4.7.2  Initialize an Object Array by Using Constructors with Parameters 121
    4.8  Friends 122
    4.8.1  Friend Functions 122
    4.8.2  Friend Classes 125
    4.9  Case Study: Advance of the GradeBook Class 126
    Word Tips 132
    Exercises 132
    Chapter 5  Operator Overloading 137
    5.1  Introduction to Operator Overloading 137
    5.2  Operator Functions 138
    5.2.1  Overloaded Operators 138
    5.2.2  Operator Functions 138
    5.3  Binary and Unary Operators 142
    5.3.1  Overloading Binary Operators 142
    5.3.2  Overloading Unary Operators 143
    5.4  Overloading Combinatorial Operators 147
    5.5  Mixed Arithmetic of User-Defined Types 151
    5.6  Type Conversion of User-Defined Types 152
    5.6.1  Converting a Built-In Type to a User-Defined Type 152
    5.6.2  Converting User-Defined Types to Built-In Types 153
    5.7  Case Study: A MyInteger Class 155
    Word Tips 160
    Exercises 160
    Chapter 6  Inheritance 163
    6.1  Class Hierarchies 163
    6.2  Derived Classes 164
    6.2.1  Declaration of Derived Classes 164
    6.2.2  Structure of Derived Classes 165
    6.3  Constructors and Destructors of Derived Classes 168
    6.3.1  Constructors of Derived Classes 168
    6.3.2  Destructors of Derived Classes 171
    6.3.3  The Calling Order of Derived Class Objects 172
    6.3.4  Inheritance and Composition 175
    6.4  Member Functions of Derived Classes 175
    6.4.1  Defining a Member Function 175
    6.4.2  Overriding Member Functions 177
    6.5  Access Control 179
    6.5.1  Access Control in Classes 179
    6.5.2  Access to Base Classes 180
    6.6  Multiple Inheritance 184
    6.6.1  Declaration of Multiple Inheritance 185
    6.6.2  Constructors of Multiple Inheritance 187
    6.7  Virtual Inheritance 188
    6.7.1  Multiple Inheritance Ambiguities 188
    6.7.2  Trying to Solve Inheritance Ambiguities 189
    6.7.3  Virtual Base Classes 191
    6.7.4  Constructing Objects of Multiple Inheritance 194
    6.8  Case Study: The iWatch Class 195
    Word Tips 201
    Exercises 202
    Chapter 7  Polymorphism and Virtual Functions 212
    7.1  Polymorphism 212
    7.1.1  Introduction to Polymorphism 212
    7.1.2  Binding 213
    7.2  Virtual Functions 216
    7.2.1  Definition of Virtual Functions 216
    7.2.2  Extensibility 219
    7.2.3  Principle of Virtual Functions 221
    7.2.4  Virtual Destructors 223
    7.2.5  Function Overloading and Function Overriding 224
    7.3  Abstract Base Classes 227
    7.4  Case Study: A Mini System 230
    Word Tips 235
    Exercises 235
    Chapter 8  Templates 241
    8.1  Introduction to Templates 241
    8.2  Function Templates 242
    8.2.1  Definition of Function Templates 242
    8.2.2  Function Template Instantiation 244
    8.2.3  Function Template with Different Parameter Types 246
    8.2.4  Function Template Overloading 247
    8.3  Class Templates 248
    8.3.1  Definition of Class Templates 248
    8.3.2  Class Template Instantiation 251
    8.4  Non-Type Parameters for Templates 253
    8.5  Derivation and Class Templates 255
    8.6  Case Study: A Vector Class Template 256
    Word Tips 262
    Exercises 262
    References 264
查看详情
相关图书 / 更多
C++面向对象程序设计双语教程(第3版)
C++之旅(第3版)(英文版)
(美)本贾尼·斯特劳斯特鲁普
C++面向对象程序设计双语教程(第3版)
C++趣味编程及算法入门 全国青少年软件编程等级考试与信息学竞赛通关指南(附600道习题+700个教学视频)
王桂平 等 编著
C++面向对象程序设计双语教程(第3版)
C++那些事
程克非,张兴,崔晓通,秦蔚蓉
C++面向对象程序设计双语教程(第3版)
C++树莓派机器人开发实战指南
(美)劳埃德·布朗巴赫 著
C++面向对象程序设计双语教程(第3版)
C++程序设计案例教程(线上线下混合版)
杨卫明;李晓虹
C++面向对象程序设计双语教程(第3版)
C++面向对象程序设计(第4版)
谭浩强
C++面向对象程序设计双语教程(第3版)
C++高性能编程
(瑞典)比约恩 安德里斯特(Bj.rn Andrist),(瑞典)维克托 塞尔(Viktor Sehr)
C++面向对象程序设计双语教程(第3版)
C++从入门到精通(第6版)
明日科技
C++面向对象程序设计双语教程(第3版)
C++开发案例精讲
杨国兴 著
C++面向对象程序设计双语教程(第3版)
C++ Concurrency in Action
Anthony Williams
C++面向对象程序设计双语教程(第3版)
C++语言设计教程(计算机专业十四五精品教材)
苏菲、王芬、朱腾 编
C++面向对象程序设计双语教程(第3版)
C++程序设计基础教程
丁卫平 程学云 陈文兰 主编;任红建 沈晓红 文万志 副主编
您可能感兴趣 / 更多
C++面向对象程序设计双语教程(第3版)
C++面向对象程序设计双语教程(第2版)
刘嘉敏、马广焜、常燕、朱世铁 著
C++面向对象程序设计双语教程(第3版)
电力系统继电保护应用技术
刘嘉敏、李佑光、罗平 编
C++面向对象程序设计双语教程(第3版)
普通高等院校“十二五”规划教材:C++面向对象程序设计双语教程
刘嘉敏、马广焜、常燕 编
C++面向对象程序设计双语教程(第3版)
:VisualFoxPro数据库基础
刘嘉敏、周林 编