Friday 10 January 2014

Chapter 0Introduction / Getting Started
0.1Introduction to these tutorials
0.2Introduction to programming languages
0.3Introduction to C/C++
0.4Introduction to development
0.5Installing an Integrated Development Environment (IDE)
0.6Compiling your first program
0.7A few common C++ problems
 
Chapter 1C++ Basics
1.1Structure of a program
1.2Comments
1.3A first look at variables (and cin)
1.4A first look at functions
1.5A first look at operators
1.6Whitespace and basic formatting
1.7Forward declarations
1.8Programs with multiple files
1.9Header files
1.10A first look at the preprocessor
1.10aHow to design your first programs
1.11Comprehensive quiz
 
Chapter 2Variables Part I
2.1Basic addressing and variable declaration
2.2Keywords and naming identifiers
2.3Variable sizes and the sizeof operator
2.4Integers
2.5Floating point numbers
2.6Boolean Values
2.7Chars
2.8Constants
2.9Hungarian Notation
2.10Comprehensive quiz
Chapter 3Operators
3.1Precedence and associativity
3.2Arithmetic operators
3.3Increment/decrement operators, and side effects
3.4Sizeof, comma, and arithmetic if operators
3.5Relational operators (comparisons)
3.6Logical operators
3.7Converting between binary and decimal
3.8Bitwise operators
3.xComprehensive quiz
 
Chapter 4Variables Part II
4.1Blocks (compound statements) and local variables
4.2Global variables (and why they are evil)
4.3File scope and the static keyword
4.4Type conversion and casting
4.5Enumerated types
4.6Typedefs
4.7Structs
 
Chapter 5Control Flow
5.1Control flow introduction
5.2If statements
5.3Switch statements
5.4Goto statements
5.5While statements
5.6Do while statements
5.7For statements
5.8Break and continue
5.9Random number generation
 
Chapter 6Arrays, Strings, Pointers, and References
6.1Arrays (Part I)
6.2Arrays (Part II)
6.3Arrays and loops
6.4Sorting an array using selection sort
6.5Multidimensional arrays
6.6C-style strings
6.7Introduction to pointers
6.8Pointers, arrays, and pointer arithmetic
6.9Dynamic memory allocation with new and delete
6.10Pointers and const
6.11References
6.12References vs pointers, and member selection
6.13Void pointers
 
Chapter 7Functions
7.1Function parameters and arguments
7.2Passing arguments by value
7.3Passing arguments by reference
7.4Passing arguments by address
7.4aReturning values by value, reference, and address
7.5Inline functions
7.6Function overloading
7.7Default parameters
7.8Function pointers
7.9The stack and the heap
7.10Recursion
7.11Namespaces
7.12Handling errors (assert, cerr, exit, and exceptions)
7.13Command line arguments
7.14Ellipses (and why to avoid them)
 
Chapter 8Basic object-oriented programming
8.1Welcome to object-oriented programming
8.2Classes and class members
8.3Public vs private access specifiers
8.4Access functions and encapsulation
8.5Constructors
8.6Destructors
8.7The hidden “this” pointer
8.8Constructors (Part II)
8.9Class code and header files
8.10Const class objects and member functions
8.11Static member variables
8.12Static member functions
8.13Friend functions and classes
8.14Anonymous variables and objects
 
Chapter 9Operator overloading
9.1Introduction to operator overloading
9.2Overloading the arithmetic operators
9.3Overloading the I/O operators
9.4Overloading the comparison operators
9.5Overloading unary operators +, -, and !
9.6Overloading operators using member functions
9.7Overloading the increment and decrement operators
9.8Overloading the subscript operator
9.9Overloading the parenthesis operator
9.10Overloading typecasts
9.11The copy constructor and overloading the assignment operator
9.12Shallow vs. deep copying
 
Chapter 10Composition
10.1Constructor initialization lists
10.2Composition
10.3Aggregation
10.4Container classes
 
Chapter 11Inheritance
11.1Introduction to inheritance
11.2Basic inheritance in C++
11.3Order of construction of derived classes
11.4Constructors and initialization of derived classes
11.5Inheritance and access specifiers
11.6Adding, changing, and hiding members in a derived class
11.7Multiple inheritance
11.8Virtual base classes
 
Chapter 12Virtual Functions
12.1Pointers and references to the base class of derived objects
12.2Virtual functions
12.3Virtual destructors, virtual assignment, and overriding virtualization
12.4Early binding and late binding
12.5The virtual table
12.6Pure virtual functions, abstract base classes, and interface classes
 
Chapter 13Input and output (I/O)
13.1Input and output (I/O) streams
13.2Input with istream
13.3Output with ostream and ios
13.4Stream classes for strings
13.5Stream states and input validation
13.6Basic file I/O
13.7Random file I/O
 
Chapter 14Templates
14.1Function templates
14.2Function template instances
14.3Template classes
14.4Expression parameters and template specialization
14.5Class template specialization
14.6Partial template specialization
 
Chapter 15Exceptions
15.1The need for exceptions
15.2Basic exception handling
15.3Exceptions, functions, and stack unwinding
15.4Uncaught exceptions, catch-all handlers, and exception specifiers
15.5Exceptions, classes, and inheritance
15.6Exception dangers and downsides
 
Chapter 16The Standard Template Library
16.1The Standard Template Library (STL)
16.2STL containers overview
16.3STL iterators overview
16.4STL algorithms overview
 
Chapter 17std::string
17.1std::string and std::wstring
17.2std::string construction and destruction
17.3std::string length and capacity
17.4std::string character access and conversion to C-style arrays
17.5std::string assignment and swapping
17.6std::string appending
17.7std::string inserting
 
Appendix AMiscellaneous Subjects
A.1Static and dynamic libraries
A.2Using libraries with Visual Studio Express 2005
A.3Using libraries with Code::Blocks
A.4Debugging your program (stepping and breakpoints)
A.5Debugging your program (watching variables and the call stack)
A.6Fixed-width integers
 
Appendix BC++11 (Formerly C++0x)
B.1Introduction to C++11
B.2Long long, auto, decltype, nullptr, and enum classes
B.3Range-based for statements and static_assert
B.4Initializer lists and uniform initialization
B.5Delegating constructors
B.6New virtual function controls (override, final, default, and delete)

0 comments:

Post a Comment

Subscribe to RSS Feed Follow me on Twitter!