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