declare destructors virtual in polymorphic base classes
a factory function is a function that returns a base class pointer to a newly created derived class object.
to make sure that when a derived class object is deleted from a base class pointer than the entire object is deleted and not only the base class part of the object ( which is undefined....c++ doesnt define delete semantics when a base class destructor is called on a derived class object).
any class with virtual functions should almost certainly have a virtual constructor.
if a class doesnt have virtual fns than dont make the destructor virtual.
u can declare a pure virtual destructor to make a class abstract
things to remember:
plymorphic base classes should declare virtual destructors. if a class has virtual functions, it should have a virtual destructor.
classes not designd to be base classes or not designed to be used ploymorphically should not declare virtual destructors
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment