C++ Programming (original) (raw)
From Wikibooks, open books for an open world
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.
If you have questions related to C++ that are not addressed on the book, ask at the Q&A or check
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).
- Programming paradigms
- Comparisons
- to other languages, relation to other computer science constructs and idioms. - with C
- with Java
- with C#
- with Managed C++ (C++/CLI)
- with D

- with C
Chapter 2 : Fundamentals for getting started [ edit ] [ edit summary ] [ print chapter ]
- The code
- includes list of recognized keywords.
- Compiler
- Preprocessor
- includes the standard headers. - Linker

- Preprocessor
- Variables and storage
- locality, scope and visibility, including source examples.
- Operators
- precedence order and composition, , assignment, [sizeof](/wiki/C%2B%2B%5FProgramming/Programming%5FLanguages/C%2B%2B/Code/Keywords/sizeof "C++ Programming/Programming Languages/C++/Code/Keywords/sizeof"), new, delete, [] (arrays), * (pointers) and & (references).- Logical operators
- the && (and), || (or), and ! (not). - Conditional operator
- the ?:
- Logical operators
- Type casting
- Automatic, explicit and advanced type casts. - Flow of control
- Conditionals (if, if-else, switch), loop iterations (while, do-while, [for](/wiki/C%2B%2B%5FProgramming/Programming%5FLanguages/C%2B%2B/Code/Keywords/for "C++ Programming/Programming Languages/C++/Code/Keywords/for")) and[goto](/wiki/C%2B%2B%5FProgramming/Programming%5FLanguages/C%2B%2B/Code/Keywords/goto "C++ Programming/Programming Languages/C++/Code/Keywords/goto"). - Functions
- Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.
- Debugging
- Finding, fixing, preventing bugs and using debugging tools.
Chapter 3 : Object-Oriented Programming [ edit ] [ edit summary ] [ print chapter ]
- Structures

- Unions

- Classes
(Inheritance, Member Functions, Polymorphism and this pointer)
- Operator overloading

- Standard Input/Output streams Library
Chapter 4 : Advanced Features [ edit ] [ edit summary ] [ print chapter ]
- Templates
- Concepts

- 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
- Software internationalization
- 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.