Programming:C plus plus - eMyTextBooks

Search:  

Free online books - just read it!

See live article   •   Programming:C plus plus
 

Programming:C plus plus

The title given to this book is incorrect due to technical limitations. The correct title is Programming:C++.



Book Charter

This book covers the essential features of the C++ language and its standard library (STL). It also provides a survey of important concepts, software design, and design patterns, but as a stepping stone for the reader or as an introduction to more advanced C++ concepts. Its primary objective is to provide an appropriate book for an introduction course on the C++ programming language and its computer science concepts or related applications.

This is an open work, if you find any problem with a term or concept you can contribute to it. You are also welcome to state any preference or vision for the actual book structure, objectives or other conceptual matters, see this wikibook discussion area.

                     Your participation is needed and welcome!

Table of contents

There is also a whole book view [edit (http://en.wikibooks.org/w/index.php?title=Programming:C_plus_plus:All_Chapters&action=edit)] to ease copy/printing (may not reflect the actual state of the book).

Part 0: About this book

  1. Foreword - introduction to this (Wiki)book and Authors references.
  2. Introduction - simple introduction to the book topic.

Part I: C++, the programming language

  1. What is a programming language?
  2. What is a program?
  3. Source File Organization
    - introduction to the Source Code and Source File concepts.
  4. A statically-typed free-form multi-paradigm language
    - this is C++, introduction to the Statically Typed and Type Checking concepts.
    1. Programming Paradigms
      - introduction to the Programming Paradigms (Procedural, Generic, Object and Object-Oriented) with some more detail in the last one.
  5. The preprocessor
    - introduction to the preprocessor and its directives (including #include and so the standard headers).
  6. The compiler
    - introduction to the compiler and its directives (inline, static, etc...), to simple optimizations and to the debugging process (breakpoints and watchpoints) and compile versus runtime time problems.
  7. Namespaces
  8. Variables
    - introduction to variables (declaration, assignment, reference and scope), the basic data types and the special types (like arrays and pointers) and to the type qualifiers.
  9. Assignment and Operators
  10. Logical operators
  11. Flow of control in a program
  12. Two-way branching using the if statement
  13. Preconditional repetition using the while statement
  14. Midconditional repetition using the do ... while statement
  15. Counter-controlled repetition using the for statement
  16. Multi-way branching with the switch statement
  17. Introducing functions
  18. The special case of the main function
  19. Advanced function topics
  20. Recursion
  21. Introduction to arrays
  22. Advanced array topics
  23. Arrays as parameters to functions
  24. Classes
  25. Enumerative data types (enum)
  26. Structures
  27. Unions
  28. Type casting
  29. String as arrays of characters
  30. Dynamic memory management with pointers
  31. Operator overloading
  32. Exception handling
  33. Templates
  34. Run-Time Type Informatiom (RTTI)
  35. The string class
  36. The Standard Template Library (STL)
  37. File and screen output

Part 2: In the real world

  1. Boost Library
  2. Related or Similar Languages
  3. Code Conventions (Source Code Style)
  4. What is an API?
  5. Win32 (aka WinAPI)
    1. Win32 Wrappers
  6. Cross Platform Wrappers (Threads/Networking/GUI)

Appendix A: References

  1. List of Keywords
  2. List of Standard Headers
  3. Table of Operators
  4. Table of Data Types
  5. Internal storage of data types
  6. List of preprocessor commands
  • External References
  1. Weblinks to various relevant locations (documentation sites, compilers, libs, forums and online books, etc...)
  2. Books, information on physically printed on dead trees books.

Appendix B: Source Code Examples

  • Complete and more complex examples:
  1. Your first program - "Hello World"
  2. The Standard IO Stream
  • Code snips:
  1. Simple "Hello World"
  2. Using a Class

Appendix C: Extra Concepts

  • Modeling
  1. Unified Modeling Language (UML)
  • API Wrappers
  1. MFC (Microsoft Foundation Classes)
  • Compiler/IDE Specific Information
  1. Microsoft Visual Studio
    1. Using Static Libraries - setting up the IDE to use the Boost library

Items needing work

  • Merge (some content may be duplicated)...
  1. Variables and Expressions
  2. Data Types
  3. C++ frequently asked questions
  4. What is a "nice" Class ?
  5. Procedural idioms in C++
  • Missing content...
System Resources - Introduction to the system (CPU, memory, registers, filesystem).
: Object-Oriented programming concepts
Combining data and control
Abstract classes
Pure abstract classes (interfaces or ADT's (abstract data types) )
Visibility
: In the real world
What's this about UNICODE?
Template meta-programming (TMP)
Constraints
C++ and POSIX
C++ on Unix with the GNU toolchain
Multi-Threading
Optimizations
: Common programming idioms
Introduction into design patterns
Object-oriented design patterns


Also helps finding: ProgrammingCplusplus, ProgrammingC, Cplus, plusplus, programing, pls, programmin, plu, progamming, pluss, prgramming, pluse, programmming, lus, porgramming

   
 
  
Add to bookmarks
Related Articles
 
Ada Programming/Keywords/begin
Dewey 000
Ada Programming/Types/record
Main Page (table free)
Ada Programming/Subtypes
Ada Programming/Keywords/aliased
Ada Programming/Types/array
Main Page (text only)
Ada Programming/Libraries/Interfaces
Programming in C -/- -/-
Ada Programming/Types
Ada Programming/Attributes
Programming:C plus plus/Idioms
Programming:Object-Oriented Programming (OOP)
Programming:C plus plus/FAQ
Computer Science:Programming Languages
Programming:PHP:basics
Ada Programming
Programming:PHP:hello world
Programming:C plus plus/Data Types

... view all
Search LiveJournal blogs for Programming:C plus plus
 

Finnish Sauna  •  Credit Consolidation  •  Credit Consolidation  •  Online Web Directory •  Credit Consolidation

Copyright @ 2005 eMyTextBooks.com
This article is from Wikibooks. All text is available under the terms of the GNU Free Documentation License.