Product Cover Image

Navigating C++ and Object-Oriented Design (Bk/CD-ROM)

By Paul Anderson, Gail Anderson

Published by Prentice Hall

Published Date: Oct 22, 1997

Table of Contents



1. Getting Started.

Object-Oriented Design. Object Modeling Technique (OMT). Object Model Notation. Scenarios. Putting It All Together. Key Point Summary. Exercises.



2. C++ Basics.

Data Representation and Built-in Types. Preprocessor Directives. Comments. Type-Safe I/O. Operators and Expressions. Control Flow Constructs. Putting It All Together. Key Point Summary. Exercises.



3. C++ Program Structure.

Functions. Structures and Unions. References with Functions. Storage Classes. Exceptions. Namespaces. Dynamic Memory Allocation. Putting It All Together. Key Point Summary. Exercises.



4. Classes.

What Is Encapsulation? Classes. Constructors. Destructors. What's this? Exception Objects. Const Objects. Volatile Objects. Copy Constructors. The Problem with Public Data Members. Data Member Objects. Class Member Initialization. Putting It All Together. Key Point Summary. Exercises.



5. Working with Classes.

Using explicit. Object Lifetimes. Static Data Members. Static Member Functions. Static Objects. Arrays of Class Objects. Pointers to Class Members. Friend Classes. Nested Classes. Local Classes. Putting It All Together. Key Point Summary. Exercises.



6. Overloading.

Why Overload Functions? Function Overloading. Overloading Resolution. Why Overload Operators? Overloadable Operators. Operator Functions. Putting It All Together. Key Point Summary. Exercises.



7. Class Design.

What Is Class Design? A Class Design Boilerplate. A String Class. A Range Integer Class. Putting It All Together. Key Point Summary. Exercises.



8. Object Storage Management.

Global new and delete. Class-Specific new and delete. Reference Counts. Putting It All Together. Key Point Summary. Exercises.



9. Template Functions.

Why Should Functions Be Generic? Template Function Definition. Template Function Instantiation. Overloading Template Functions. Specializing Template Functions. Putting It All Together. Key Point Summary. Exercises.



10. Template Classes.

Why Should Classes Be Generic? Template Class Definition. Template Class Instantiation. Specializing Template Classes. Containment with Template Classes. Composite Templates. Template Class Static Members. Constant Expression Parameters. Template Friend Functions. Template Friend Classes. Template Nested Classes. Member Templates. Putting It All Together. Key Point Summary. Exercises.



11. Inheritance.

Why Use Inheritance? Public Derivation. Subtypes. Virtual Functions. Protected Access. Using Declarations. Private Derivation. Protected Derivation. Summary of Derivation Options. Polymorphism with a Generic PtrList Class. Abstract Base Classes. Virtual Constructors. A Class Design Boilerplate with Inheritance. Putting It All Together. Key Point Summary. Exercises.



12. Run-Time Type Identification.

Why Is RTTI Necessary? The Dynamic Cast Operator. The Typeid Operator. RTTI Applications. Putting It All Together. Key Point Summary. Exercises.



13. Exception Handling.

Why Use Exceptions? Designing with Exceptions. Exception Hierarchies. Resource Management. Uncaught Exceptions. Exception Specifications. Unexpected Exceptions. Putting It All Together. Key Point Summary. Exercises.



14. Multiple Inheritance.

Why Use Multiple Inheritance? Multiple Inheritance Format. Multiple Inheritance Characteristics. Distinct Base Classes (Pattern 1). Multiple Inclusion (Pattern 2). Virtual Base Classes (Pattern 3). Interface and Implementation. Putting It All Together. Key Point Summary. Exercises.



Appendix A. IOStream Library.

Why Use the IOStream Library? IOStream Overview. IOStream Examples.



Appendix B. Standard Template Library.

Why Use STL? STL Overview. STL Examples. STL References.



Appendix C. C++ Operator Precedence.

C++ Operator Precedence.



Index.

Print

Navigating C++ and Object-Oriented Design (Bk/CD-ROM)

Add to Cart

$49.95 | ISBN-13: 978-0-13-532748-7

Free Ground Shipping.