(
Each chapter concludes with Summary and Exercises.)
Object-Oriented Programming In C++. Object-Oriented Programming.
Why C++ Is A Better C.
Why Switch To C++?
References.
An Overview Of C++ And Object-Oriented Programming.
Output.
Input.
Function Prototypes.
Classes And Abstract Data Types.
Overloading.
Constructors And Destructors.
Object-Oriented Programming And Inheritance.
Polymorphism.
Templates.
Exceptions.
Benefits Of Object-Oriented Programming.
C++ As A Better C. Comment Style.
Avoiding The Preprocessor: Inline And Const.
Declarations.
The Uses Of Void.
Scope Resolution Operator.
Function Prototypes.
Reference Declarations And Call-By-Reference.
Default Arguments.
Overloading Functions.
Free Store Operations New And Delete.
Odds And Ends.
Pragmatics.
Classes. The Aggregate Type: Struct.
Structure Pointer Operator.
An Example: Stack.
Member Functions.
Access: Private And Public.
Classes.
Static Member.
Class Scope.
An Example: Flushing.
Pragmatics.
Constructors And Destructors. Classes With Constructors.
Constructing A Dynamically Sized Stack.
Classes With Destructors.
The This Pointer.
Static And Const Member Functions.
An Example: Dynamically Allocated Strings.
A Class Vect.
Members That Are Class Types.
An Example: A Singly Linked List.
Two-Dimensional Arrays.
Strings Using References Semantics.
No Constructor, Copy Constructor, And Other Mysteries.
Pragmatics.
Operator Overloading And Conversions. The Traditional Conversions.
Adt Conversions.
Overloading And Function Selection.
Friend Functions.
Overloading Operators.
Unary Operator Overloading.
Binary Operator Overloading.
Overloading Assignment And Subscripting Operators.
Signature Matching.
Pragmatics.
Inheritance. A Derived Class.
Typing Conversions And Visibility.
Code Reuse: Dynamic Array Bounds.
Code Reuse: A Binary Tree Class.
Virtual Functions.
Abstract Base Classes.
Multiple Inheritance.
Detailed C++ Considerations.
Pragmatics.
Templates. Template Class Stack.
Function Templates.
Class Templates.
Parameterizing The Class Vect .
Paramaterized Binary Search Tree.
Inheritance.
Pragmatics.
Exceptions. Using Assert.H .
C++ Exceptions.
Try Blocks.
Handlers.
Exception Specification.
Terminate () And Unexpected ()
Example Exception Code.
Pragmatics.
Oop Using C++. Oop Language Requirements.
Adts In Non-Oop Languages.
Clients And Manufacturers.
Reuse And Inheritance.
Polymorphism.
Language Complexity.
C++ Oop Bandwagon.
Platonism: Tabula Rasa Design.
Design Principles.
Last Words.
Appendix A. Ascii Character Codes. Appendix B. Operator Precedence And Associativity. Appendix C. C++ Language Guide. Lexical Elements.
Constants.
Declarations And Scope Rules.
Linkage Rules.
Types.
Conversion Rules.
Expressions And Operators.
Statements.
Classes.
Functions.
Templates.
Exceptions.
Caution And Complexity.
Style Examples And Pragmatics.
Appendix D. Input/Output. The Output Class Ostream.
Formatted Output And Iomanip.H.
User-Defined Types: Output.
The Input Class Istream.
Files And Fstream.H.
The Functions And Macros In Ctype.H.
Using Stream States.
Mixing I/O Libraries. 080533159XT04062001