C++ Programming – 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 […]

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 Development stage: 80% – the versatility of C++ as a multi-paradigm language, concepts of object-oriented programming (objects and classes, inheritance, polymorphism).
  3. Comparisons Development stage: 80% – to other languages, relation to other computer science constructs and idioms.
    1. with C Development stage: 80%
    2. with Java Development stage: 80%
    3. with C# Development stage: 30%
    4. with Managed C++ (C++/CLI) Development stage: 30%
    5. with D Development stage: 30%

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

  1. The code Development stage: 70% – includes list of recognized keywords.
    1. File organization Development stage: 80%
    2. Statements Development stage: 80%
    3. Coding style conventions Development stage: 80%
    4. Documentation Development stage: 80%
    5. Scope and namespaces Development stage: 90%
  2. Compiler Development stage: 70%
    1. Preprocessor – includes the standard headers.
    2. Linker Development stage: 70%
  3. Variables and storage Development stage: 90% locality, scope and visibility, including source examples.
    1. Type Development stage: 90%
  4. Operators Development stage: 80% precedence order and composition, , assignment, sizeof, new, delete, [] (arrays), * (pointers) and & (references).

    1. Logical operators Development stage: 70% – the && (and), || (or), and ! (not).
    2. Conditional operator Development stage: 70% – the ?:
  5. Type casting Development stage: 80% Automatic, explicit and advanced type casts.
  6. Flow of control Development stage: 80% – Conditionals (if, ifelse, switch), loop iterations (while, dowhile, for) and goto.
  7. Functions Development stage: 70% – Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.

    1. Standard C Library Development stage: 70% – I/O, string and character, math, time and date, memory and other standard C functions
  8. Debugging Development stage: 80% – Finding, fixing, preventing bugs and using debugging tools.

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

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

    1. string Development stage: 50%

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

  1. Templates Development stage: 80%

    1. Template Meta-Programming (TMP) Development stage: 60%
  2. Standard Template Library (STL) Development stage: 60%
  3. Smart Pointers Development stage: 50%
  4. Exception Handling Development stage: 60%
  5. Run-Time Type Information (RTTI) Development stage: 60%

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

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

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.


Source Article

Next Post

techforall

Thu Apr 9 , 2020
  On July 15, 2016, the White House committed funds to be granted to the National Science Foundation (NSF) for a new initiative to advance wireless research across the nation.  During the announcement, Technology For All (TFA) and Rice University were recognized for their research and service to community. Read the entire article HERE. Watch the video […]