Inheritance - Ch. 15

class Base {
  private:
    // base private member variables
  protected:
    // base protected member variables
  public:
    Base() { // base default constructor }
    ~Base(){ // base destructor }
};
  
// derived class inherits all members and functions
// but not constructors or destructor
// Syntax
//class child : access_specifier parent {...};

class Derived : public Base {
  private:
    //derived private member variables
  protected:
    // derived protected member variables
  public:
    Derived() : Base() {
      // derived default constructor, invokes parent
    }
    ~Derived() {
      // derived destructor, base destructor invoked automatically
    }
};