About the Book
C++ is one of the most popular object oriented programming languages, and there are many versions and variations of the language available. This book focuses on the original version of the language, ANSI C++.
The book starts with an introduction to the principles of Object Oriented Programming or OOP concepts. Object Oriented Programming differs greatly from the older procedure oriented programming concepts. In OOP, data and the operations performed on it are abstracted and encapsulated.
Access to the data and the functions that work on the data are provided through a transparent interface. If any changes are made to the data definitions or functions, these do not affect the other parts of the applications that use them, as the interface remains the same. Thus, changes are easier to implement and the defined classes can be reused and extended through inheritance.
All these concepts are explained in detail in this book, for the readers to get a good understanding of OOP principles first. The author then introduces C++. C++ is an extension of the C language, which was developed by Bjarne Lustrous at Bell Labs. Initially, the language was called C With Classes, as it added the concept of a class, the basic building block of OOP, to the C language. As the language underwent further development and revisions, Lustrous changed the name to C++, a play on the incremental operator in C.
The book starts with the basic concepts of tokens, expressions, control structures, and the concept of functions in C++. Hardcore OOP implementations are explained next, starting with classes and objects, constructors and destructor, type conversion and overloading.
Further, OOP principles like inheritance, virtual functions, and polymorphism are explained with examples. The book then takes a look at console I/O operations and file handling. The author then explains the concept of templates and handling exceptions.
The Standard Template Library is introduced in this book, followed by string handling methods. The author discusses the features of ANSI C++ standards and explains the process of object oriented systems development.
The main content is followed by nine appendices. These appendices house answers to debugging exercises, points to remember, information on executing Turbo C++ and C++ under Windows, and a C++ proficiency test with answers. There is a glossary of C++ and OOP terms and a section on C++ operator precedence too.
Table of Contents
1. Principles of Object-Oriented Programming
2. Beginning with C++
3. Tokens, Expressions and Control Structures
4. Functions in C++
5. Classes and Objects
6. Constructors and Destructors
7. Operator Overloading and Type Conversions
8. Inheritance: Extending Classes
9. Pointers, Virtual Functions and Polymorphism
10. Managing Console I/O Operations
11. Working with Files
13. Exception Handling
14. Introduction to the Standard Template Library
15. Manipulating Strings
16. New Features of ANSI C++ Standard
17. Object-Oriented Systems Development