C++

I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.
Alan Kay

Introduction

C++ is a powerful language that provides many advanced object-oriented constructs, including encapsulation, exception handling, inheritance, templates, polymorphism, strong typing, and a complete module system.

Basics

cpp comments
Cpp Operators
Cpp Advices

Variables and Basic Data-types

Primitive Built-in Types
C++ Variables
const
Cpp Static Variables
References
typedef
Cpp Enumerated Types
C++ class
struct
header files
Dynamic memory allocation

Statements

Exception Handling
Preprocessor

Functions

Defining a Function
Argument Passing
The return statement
Function Declarations
Local Objects
Inline Functions
Class Member Functions
Overloaded Functions
Function Default Parameters
Pointers to Functions
recursion

Library Types

string
vector
iterators
Library bitset Type

Arrays and Pointers

arrays
Pointers
References Versus Pointers
Deciphering Long Pointer Declarations

Expressions

Bitwise Operators
The Arrow Operator
The sizeof Operator
Evaluating Compound Expressions
The new and delete Expressions
Type Conversions

IO Library

An Object-Oriented Library
Condition States
Managing the Output Buffer
File Input and Output
String Streams

Classes

Class Definitions and Declarations
this Pointer
Class Scope
Constructors
Class code and header files
static Class Members
static member variables
Friend functions and Classes
Anonymous class objects
Nested Classes

Operator Overloading

Operator overloading
Overloading the arithmetic operators
Overloading the I/O operators
Overloading the comparison operators
Overloading unary operators +, -, and !
Overloading operators using member functions
Overloading the increment and decrement operators
Overloading the subscript operator
Overloading the parenthesis operator
Overloading typecasts
The copy constructor and overloading the assignment operator
Shallow vs. deep copying

Composition

Constructor Initialization Lists
Composition
Aggregation
Container classes

Inheritance

Inheritance in C++
Order of construction of derived classes
Constructors and initialization of derived classes
Inheritance and access specifiers
Adding, changing and hiding members in a derived class
Multiple Inheritance
Virtual Base classes
Abstract Class

Virtual Functions

Pointers and references to the base class of derived objects
Virtual functions
Virtual destructors, virtual assignment, and overriding virtualization
Early binding and late binding
The virtual table
Pure virtual functions, abstract base classes, and interface classes

Input and Output

Input and output streams

Templates

Introduction to Templates
Function templates
Function template instances
Template classes

Exceptions

Introduction to Exceptions
Uncaught Exceptions Catch All Handlers And Exception Specifiers
Exceptions, classes and inheritance

Object-Oriented and generic programming

Templates

Compiling/Debugging

Makefile

Algorithms

Cpp sorting

Advanced Topics

Design Patterns in Cpp
namespaces
Type Casting
C++ Questions
C++ Memory Areas
Cpp Refactoring
Cpp smart pointers
Differences between Cpp and Csharp
Faster Compilations in Cpp
RAII Idiom

Libraries and Frameworks

C++ std
MFC
Juce
Qt Framework

IDEs

Visual Studio

General Examples

FSM in C++
Cpp Challenge

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.