Find out how to workaround the problem that arises when you instantiate a class instance in its own constructor.
Because the compiler initializes and assigns data members in the order that you declared them, you must take care when you're assigning data members during initialization.
The Observer pattern defines a one-to-many dependency between objects--when the central object changes state, all its dependents objects are notified and updated automatically. Master this pattern and you won't have to worry about managing consistency of state between components.
Learn about two different methods you can use to convert objects between two different class types.
Sick of initialzing and assigning values to the base class's data members? Absolve yourself of this responsibility by overloading the copy constructor and the assignment operator in the derived class.
The compiler does not create a defalut constructor is you do not define one.
Learn how to restrict implicit conversion in C++.
Find out how to use the Forwards template declaration to restrict the types of template arguments for a template class.
Learn how to use the same member function from a inheritance hierarchy as both virtual and non-virtual.
Find out how you can use local classes to simulate the effects of nested functions.
Learn how to use the callback function in C++.
Find out how to use the reverse() algorithm to reverse the order of elements in any sequence container.
Learn how to use the includes() algorithm to determine if every element within a specified range of a sequence container is completely contained within a specified range of another sequence conatainer.
Learn how to use the generate() algorithm to fill up a sequence container with values that you generate by repeatedly calling a function.
This iterator works in conjunction with STL algorithms, allowing you to perform a variety of actions besides merely reading the elements of a container.