Lecture Notes for Advanced Programming II

3 December 2002 - Implementing Subtype Polymorphism


Outline


Member-Function Look-Up


Subtype Polymorphism vs. Static Look-Up


Dynamic Look-Up


Static vs. Dynamic Look-Up


Declaring Virtual Member Functions


Virtual Member Function Examples

class DeviceInterface {
  bool initialized(void);
  virtual status open(...) { }
  }

class VirtualFileSystem : DeviceInterface {
  virtual status rename(...) { }
  }

class ext2 : VirtualFileSystem {
  status open(...) { ... } 
  status rename(...) { ... }
  }

class ntfs : VirtualFileSystem {
  virtual status open(...) { ... }
  virtual bool initialized(void);
  }


Virtual Member Function Gotchas


A Little Quiz


The Virtual Flip-Flop


Virtual Destructors


A Heart-Felt Question


Virtual Function Definitions


Matching Virtual Functions


Don't Forget the const


Abstract Virtual Functions


Abstract Virtual Properties


Points to Remember


This page last modified on 11 December 2002.