    |
 |
|
|
|
 |
 |
 |
 |
 |
 |
|
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
- Foreword - introduction to this (Wiki)book and Authors references.
- Introduction - simple introduction to the book topic.
Part I: C++, the programming language
- What is a programming language?
- What is a program?
- Source File Organization
- introduction to the Source Code and Source File concepts.
- A statically-typed free-form multi-paradigm language
- this is C++, introduction to the Statically Typed and Type Checking concepts.
- Programming Paradigms
- introduction to the Programming Paradigms (Procedural, Generic, Object and Object-Oriented) with some more detail in the last one.
- The preprocessor
- introduction to the preprocessor and its directives (including #include and so the standard headers).
- 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.
- Namespaces
- 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.
- Assignment and Operators
- Logical operators
- Flow of control in a program
- Two-way branching using the if statement
- Preconditional repetition using the while statement
- Midconditional repetition using the do ... while statement
- Counter-controlled repetition using the for statement
- Multi-way branching with the switch statement
- Introducing functions
- The special case of the main function
- Advanced function topics
- Recursion
- Introduction to arrays
- Advanced array topics
- Arrays as parameters to functions
- Classes
- Enumerative data types (enum)
- Structures
- Unions
- Type casting
- String as arrays of characters
- Dynamic memory management with pointers
- Operator overloading
- Exception handling
- Templates
- Run-Time Type Informatiom (RTTI)
- The string class
- The Standard Template Library (STL)
- File and screen output
Part 2: In the real world
- Boost Library
- Related or Similar Languages
- Code Conventions (Source Code Style)
- What is an API?
- Win32 (aka WinAPI)
- Win32 Wrappers
- Cross Platform Wrappers (Threads/Networking/GUI)
Appendix A: References
- List of Keywords
- List of Standard Headers
- Table of Operators
- Table of Data Types
- Internal storage of data types
- List of preprocessor commands
- Weblinks to various relevant locations (documentation sites, compilers, libs, forums and online books, etc...)
- Books, information on physically printed on dead trees books.
Appendix B: Source Code Examples
- Complete and more complex examples:
- Your first program - "Hello World"
- The Standard IO Stream
- Simple "Hello World"
- Using a Class
Appendix C: Extra Concepts
- Unified Modeling Language (UML)
- MFC (Microsoft Foundation Classes)
- Compiler/IDE Specific Information
- Microsoft Visual Studio
- Using Static Libraries - setting up the IDE to use the Boost library
Items needing work
- Merge (some content may be duplicated)...
- Variables and Expressions
- Data Types
- C++ frequently asked questions
- What is a "nice" Class ?
- Procedural idioms in C++
- 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 |
| |
|
 |
|
 |