In classical inheritance where objects are defined by classes, classes can inherit attributes and behavior from pre-existing classes called base classes, superclasses, or parent classes. The resulting classes are known as derived classes, subclasses, or child classes.
// do something with foo
class SubClass : public SuperClass
SubClass(int foo, int bar):SuperClass(foo) // Call the superclass constructor in the subclass' initialization list.
// do something with bar
Pure Virtual Methods
Pass by Value, Pass by Reference, Pass by Pointer