Cover
Half Title
Title Page
Copyright Page
Dedication
Contents
Preface
Acknowledgements
About the Author
1. Introduction to C++
2. Variables, Constants, and Arithmetic Conversions
3. Data Input/Output
4. Operators
5. Program Control
6. Loops
7. Arrays
8. Pointers
9. Characters
10. Strings
11. Functions
12. Searching and Sorting Arrays
13. Structures and Unions
14. Memory Management and Data Structures
15. Preprocessor and Macros
16. More about Functions
17. Classes and Objects
18. Operator Overloading
19. More about Classes
20. Inheritance
21. More about Inheritance
22. Exceptions
23. Class Templates
24. Files
25. Namespaces, Type Cast Operators, and Smart Pointers
26. Introduction to Standard Template Library
27. Application Example
Epilogue
Annex A: Precedence Table
Annex B: ASCII Table
Annex C: Hexadecimal System
Bibliography
Index
This book is primarily for students who are taking a course on the C++ language, for those who wish to self-study the C++ language, and for programmers who have experience with C and want to advance to C++. It could also prove useful to instructors of the C++ course who are looking for explanatory programming examples to add in their lectures. The focus of this book is to provide a solid introduction to the C++ language and programming knowledge through a large number of practical examples and meaningful advice. It includes more than 500 exercises and examples of progressive difficulty to aid the reader in understanding the C++ principles and to see how concepts can materialize in code.
The examples are designed to be short, concrete, and substantial, quickly giving the reader the ability to understand how to apply correctly and efficiently the features of the C++ language and to get a solid programming know-how. Rest assured that if you are able to understand this book’s examples and solve the exercises, you can safely go on to edit larger programs, you will be able to develop your own applications, and you will have certainly established a solid fundamental conceptual and practical background to expand your knowledge and skills.