Destructor A destructor is often required It is called when the object is destroyed A variable going out of scope delete being called on a pointer The program ending (static variables) Need one if resources are allocated Memory is a resource Network connections File handles, etc