   How do you return a Polymorphic Pointer?
  Can anyone give me a simple example on how you return a polymorphic pointer?   
struct Animal { };struct Cat : Animal { };struct Dog : Animal { };Animal* gimmehCat() {return new Cat;};  Thanks!   ;struct Example{};struct ShowWhatYouveLearned: Example{};struct FreeHomeworkHelp: Example{};Example* gimmehExample(){    return new FreeHomeworkHelp;};  Touché.   ;  Thou shalt use virtual destructors there:struct Example{ virtual ~Example() {} };struct ShowWhatYouveLearned: Example{ virtual ~ShowWhatYouveLearned() {} };struct FreeHomeworkHelp: Example{};Example* gimmehExample(){    return new FreeHomeworkHelp;}Winnah yay!   ;  Aw, crap.   