This book covers the C++ programming language, its interactions with software design and real life use of the language. It is presented in a series of chapters as an introductory prior to advance courses but can also be used as a reference book. This is an open work; if you find any problems with terms or concepts you can help by contributing to it; your participation is needed and welcomed! You are also welcomed to state any preference, shortcomings, vision for the actual book content, structure or other conceptual matters; see this Wikibook’s discussion page for the right forum for participating.
Subject:C++ programming language
A complete printable version of
C++ Programming is available.
(attention to its size)
A single page version [ edit) with all chapters is available (attention to its size).
Preface: About the book [ edit ] [ edit chapters list ] [ edit print version ]
Chapter 1 : C++ a multi-paradigm language [ edit ] [ edit summary ] [ print chapter ]
- Introducing C++
- Programming languages
- Programming paradigms – the versatility of C++ as a multi-paradigm language, concepts of object-oriented programming (objects and classes, inheritance, polymorphism).
– to other languages, relation to other computer science constructs and idioms.
- with C
- with Java
- with C#
- with Managed C++ (C++/CLI)
- with D
Chapter 2 : Fundamentals for getting started [ edit ] [ edit summary ] [ print chapter ]
- The code
– includes list of recognized keywords.
- File organization
- Coding style conventions
- Scope and namespaces
- Preprocessor – includes the standard headers.
- Variables and storage
– locality, scope and visibility, including source examples.
– precedence order and composition, , assignment, sizeof, new, delete,  (arrays), * (pointers) and & (references).
- Logical operators – the && (and), || (or), and ! (not).
- Conditional operator – the ?:
- Type casting – Automatic, explicit and advanced type casts.
- Flow of control – Conditionals (if, if–else, switch), loop iterations (while, do–while, for) and goto.
– Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.
- Standard C Library – I/O, string and character, math, time and date, memory and other standard C functions
- Debugging – Finding, fixing, preventing bugs and using debugging tools.
Chapter 3 : Object-Oriented Programming [ edit ] [ edit summary ] [ print chapter ]
(Inheritance, Member Functions, Polymorphism and this pointer)
- Abstract Classes including Pure abstract classes (abstract types)
- Nice Class
- Operator overloading
- Standard Input/Output streams Library
Chapter 4 : Advanced Features [ edit ] [ edit summary ] [ print chapter ]
- Template Meta-Programming (TMP)
- Standard Template Library (STL)
- Smart Pointers
- Exception Handling
- Run-Time Type Information (RTTI)
Chapter 5 : Beyond the Standard [ edit ] [ edit summary ] [ print chapter ]
- Resource Acquisition Is Initialization (RAII)
- Garbage Collection (GC)
- Design patterns – Creational, Structural and Behavioral patterns.
- Libraries – APIs vs Frameworks and Static and dynamic libraries.
- Boost library
- Optimizing your programs
- Cross-platform development
- Win32 (aka WinAPI) – including Win32 wrappers.
- Cross-platform wrappers
- Software internationalization
- Text encoding
- Unified Modeling Language (UML)
Appendix A: References Tables
(used on book chapters, print version excludes the Appendix)
Appendix B: External References
Appendix C: C++ Programming by examples [ edit ]
(Compilable programs used on book chapters, print version excludes the Appendix)
Appendix D: C++ Programming – exercises [ edit ]
Supporting exercises for the book content.