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 ]

  1. Introducing C++
  2. Programming languages
    1. Programming paradigms - the versatility of C++ as a multi-paradigm language, concepts of object-oriented programming (objects and classes, inheritance, polymorphism).
  3. Comparisons - to other languages, relation to other computer science constructs and idioms.
    1. with C
    2. with Java
    3. with C#
    4. with Managed C++ (C++/CLI)
    5. with D

Chapter 2 : Fundamentals for getting started [ edit ] [ edit summary ] [ print chapter ]

  1. The code - includes list of recognized keywords.
    1. File organization
    2. Statements
    3. Coding style conventions
    4. Documentation
    5. Scope and namespaces
  2. Compiler
    1. Preprocessor - includes the standard headers.
    2. Linker
  3. Variables and storage - locality, scope and visibility, including source examples.
    1. Type
  4. Operators - precedence order and composition, , assignment, sizeof, new, delete, [] (arrays), * (pointers) and & (references).
    1. Logical operators - the && (and), || (or), and ! (not).
    2. Conditional operator - the ?:
  5. Type casting - Automatic, explicit and advanced type casts.
  6. Flow of control - Conditionals (if, if-else, switch), loop iterations (while, do-while, for) and goto.
  7. Functions - Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.
    1. Standard C Library - I/O, string and character, math, time and date, memory and other standard C functions
  8. Debugging - Finding, fixing, preventing bugs and using debugging tools.

Chapter 3 : Object-Oriented Programming [ edit ] [ edit summary ] [ print chapter ]

Chapter 4 : Advanced Features [ edit ] [ edit summary ] [ print chapter ]

Chapter 5 : Beyond the Standard [ edit ] [ edit summary ] [ print chapter ]

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.

Read in another language