Destructor in base class must be virtual so derived class constructor is invoked.