You do not have to use new to use polymorphism.
All you need is a pointer or reference to the base class. Thus this will work:
Furthermore, using delete this is something I would not recommend.Code:Derived a;
Base* pa = &a;
pa->myfunction();
// Or
Base& ra = a;
ra.myfunction();
If you don't want to do manual deleting, then use smart pointers.