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 ]

  1. Structures
  2. Unions
  3. Classes (Inheritance, Member Functions, Polymorphism and this pointer)
    1. Abstract Classes including Pure abstract classes (abstract types)
    2. Nice Class
  4. Operator overloading
  5. Standard Input/Output streams Library
    1. string

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

  1. Templates
    1. Template Meta-Programming (TMP)
  2. Standard Template Library (STL)
  3. Smart Pointers
  4. Exception Handling
  5. Run-Time Type Information (RTTI)

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

  1. Resource Acquisition Is Initialization (RAII)
  2. Garbage Collection (GC)
  3. Design patterns - Creational, Structural and Behavioral patterns.
  4. Libraries - APIs vs Frameworks and Static and dynamic libraries.
  5. Boost library
  6. Optimizing your programs
  7. Cross-platform development
    1. Win32 (aka WinAPI) - including Win32 wrappers.
    2. Cross-platform wrappers
    3. Multitasking
  8. Software internationalization
    1. Text encoding
  9. Unified Modeling Language (UML)

Appendix A: References Tables
(used on book chapters, print version excludes the Appendix)

Appendix B: External References

WeblinksBooks

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.

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.