13 Class Inheritance 707
Beginning with a Simple Base Class 708
Inheritance:An Is-a Relationship 720
Polymorphic Public Inheritance 722
Static and Dynamic Binding 737
Access Control:protected 745
Abstract Base Classes 746
Inheritance and Dynamic Memory Allocation 757
Class Design Review 766
Summary 778
Chapter Review 779
Programming Exercises 780
14 Reusing Code in C++ 785
Classes with Object Members 786
Private Inheritance 797
Multiple Inheritance 808
Class Templates 830
Summary 866
Chapter Review 869
Programming Exercises 871
15 Friends,Exceptions,and More 877
Friends 877
Nested Classes 889
Exceptions 896
Runtime Type Identification 933
Type Cast Operators 943
Summary 947
Chapter Review 947
Programming Exercises 949
16 The string Class and the Standard Template Library 951
The string Class 952
Smart Pointer Template Classes 968
The Standard Template Library 978
Generic Programming 992
Function Objects(a.k.a. Functors) 1026
Algorithms 1035
Other Libraries 1045
Summary 1054
Chapter Review 1056
Programming Exercises 1057
17 Input,Output,and Files 1061
An Overview of C++ Input and Output 1062
Output with cout 1069
Input with cin 1093
File Input and Output 1114
Incore Formatting 1142
Summary 1145
Chapter Review 1146
Programming Exercises 1148
18 Visiting with the New C++ Standard 1153
C++11 Features Revisited 1153
Move Semantics and the Rvalue Reference 1164
New Class Features 1178
Lambda Functions 1184
Wrappers 1191
Variadic Templates 1197
More C++11 Features 1202
Language Change 1205
What Now? 1207
Summary 1208
Chapter Review 1209
Programming Exercises 1212
Appendixes 1215
A Number Bases 1215
B C++ Reserved Words 1221
C The ASCII Character Set 1225
D Operator Precedence 1231
E Other Operators 1235
F The string Template Class 1249
G The Standard Template Library Methods and Functions 1271
H Selected Readings and Internet Resources 1323
I Converting to ISO Standard C++ 1327
J Answers to Chapter Reviews 1335
Index 1367