Wednesday, 23 January 2019

What is virtual constructors or destructors

What is virtual constructors or destructors?

Answer:

Virtual destructors: If an object (with a non-virtual destructor) is destroyed explicitly by applying the delete operator to a base-class pointer to the object, the base-class destructor function (matching the pointer type) is called on the object.
There is a simple solution to this problem declare a virtual base-class destructor. This makes all derived-class destructors virtual even though they don‟t have the same name as the base-class destructor.

Now, if the object in the hierarchy is destroyed explicitly by applying the delete operator to a base-class pointer to a derived-class object, the destructor for the appropriate class is called. Virtual constructor: Constructors cannot be virtual. Declaring a constructor as a virtual function is a syntax error.

No comments:

Post a Comment