In c++ there is only virtual destructors, no constructors. Why?
Answer Posted / bala preethi
Since OOPS basics says always base class object to be
created and than its derivatives. So just consider the case
where we try to create object of derived class with virtual
contructor since pointer points to derived type object it
fetches derived constructor directly, without its base
class object constructed( instantiated )...
So Constructor cannot be made virtual bt when comes to case
of Destructor object destuction process must be reverse...
So we must make destructor as virtual.
This applies only when we going for Dynamic Memory
Allocation...
If, on the other hand, you were to have a pointer to object
A and assign it a dynamic object B, when you destroy it,
only object A's destructor is called and object B part of
the object is never destroyed. Virtual destructors are used
to solve this problem and destroy the objects in the right
order.
| Is This Answer Correct ? | 47 Yes | 14 No |
Post New Answer View All Answers
What are the components of marker interface?
any one please tell me the purpose of operator overloading
What is polymorphism in oop example?
What is encapsulation in simple terms?
Write a program to reverse a string using recursive function?
What is a null tree?
What are objects in oop?
What is the point of polymorphism?
What is polymorphism programming?
what are the different types of qualifier in java?
What is super in oop?
What are the benefits of polymorphism?
How is class defined?
Why can't we have instance(stack) of a class as a member of the same class like eg.Class A{A obj;} as we can have self refential pointer
write a program to find 2 power of a 5digit number with out using big int and exponent ?