Essential C++(英文版)

Essential C++(英文版)
作 者: 利普曼
出版社: 人民邮电出版社
丛编项: 典藏原版书苑
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Stanley B.Lippman畅销图书《C++ Primer (3RD)中文版》的原版作者Stanley B.Lippman的职业是提供关于C++和面向对象的训练、咨询、设计和指导。他在成为一名独立咨询顾问之前,曾经是迪士尼动化公司的首席软件设计师。当他在AT&T Bell实验室的时候,领导了cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。他还撰写了许多关于C++的文章。目前他已受雇于微软公司,负责Visual C++项目。遍及全球,...

内容简介

本书是众多C++初学者的入门经典,通常C++初学者会在读完本书后再读《C++ Primer》。本书从4个方面来表现C++的本质:procedural(程序性的)、generic(泛型的)、object-based(个别对象的)、object-oriented(面向对象的)。本书的组织围绕着一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性。循此方式,读者不只会学到C++的函数和结构,也会学习到它们的设计目的和基本原理。本书涉猎范围很广,内容涉及C++语言发展的主要几个方面,适合有一定基础的C++初学者。“拿起这本书,你可以在短时间内熟悉C++。Stanley选择了范围广泛而又复杂的一些主题,把它们的门槛降低到C++新手开发真正的程序时所需要的最基本的层次。本书以实例引导读者学习,这种做法很有效,可帮助读者顺利学完整本书。”...———Steve Vinoski,IONA

图书目录

Chapter 1: Basic C++ Programming 1

1.1: How to Write a C++ Program 1

1.2: Defining and Initializing a Data Object 7

1.3: Writing Expressions 10

1.4: Writing Conditional and Loop Statements 15

1.5: How to Use Arrays and Vectors 22

1.6 Pointers Allow for Flexibility 26

1.7: Writing and Reading Files 30

Chapter 2: Procedural Programming 35

2.1: How to Write a Function 35

2.2: Invoking a Function 41

2.3: Providing Default Parameter Values 50

2.4: Using Local Static Objects 53

2.5: Declaring a Function Inline 55

2.6: Providing Overloaded Functions 56

2.7: Defining and Using Template Functions 58

2.8: Pointers to Functions Add Flexiblity 60

2.9: Setting Up a Header File 63

Chapter 3: Generic Programming 67

3.1: The Arithmetic of Pointers 68

3.2: Making Sense of Iterators 73

3.3: Operations Common to All Containers 76

3.4: Using the Sequential Containers 77

3.5: Using the Generic Algorithms 81

3.6: How to Design a Generic Algorithm 83

3.7: Using a Map 90

3.8: Using a Set 91

3.9: How to Use Iterator Inserters 93

3.10: Using the iostream Iterators 95

Chapter 4: Object-Based Programming 99

4.1: How to Implement a Class 100

4.2: What Are Class Constructors and the Class Destructor? 104

4.3: What Are mutable and const? 109

4.4: What Is the this Pointer? 113

4.5: Static Class Members 115

4.6: Building an Iterator Class 118

4.7: Collaboration Sometimes Requires Friendship 123

4.8: Implementing a Copy Assignment Operator 125

4.9: Implementing a Function Object 126

4.10: Providing Class Instances of the iostream Operators 128

4.11: Pointers to Class Member Functions 130

Chapter 5: Object-Oriented Programming 135

5.1: Object-Oriented Programming Concepts 135

5.2: A Tour of Object-Oriented Programming 138

5.3: Polymorphism without Inheritance 142

5.3: Defining an Abstract Base Class 145

5.4: Defining a Derived Class 148

5.5: Using an Inheritance Hierarchy 155

5.6: How Abstract Should a Base Class Be? 157

5.7: Initialization, Destruction, and Copy 158

5.8: Defining a Derived Class Virtual Function 160

5.9: Run-Time Type Identification 164

Chapter 6: Programming with Templates 167

6.1: Parameterized Types 169

6.2: The Template Class Definition 171

6.3: Handling Template Type Parameters 172

6.4: Implementing the Template Class 174

6.5: A Function Template Output Operator 180

6.6: Constant Expressions and Default Parameters 181

6.7: Template Parameters as Strategy 185

6.8: Member Template Functions 187

Chapter 7: Exception Handling 191

7.1: Throwing an Exception 191

7.2: Catching an Exception 193

7.3: Trying for an Exception 194

7.4: Local Resource Management 198

7.5: The Standard Exceptions 200

Appendix A: Exercise Solutions 205

Appendix B: Generic Algorithms Handbook 255

Index 271