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
State what is encapsulation and friend function?
Why do we use oops?
Which language is not a true object oriented programming language?
Write a program to sort the number with different sorts in one program ??
What is multilevel inheritance in oop?
What is polymorphism oop?
What is and I oop mean?
Why do we need oop?
write a program to find 2^n+1 ?
Why is oop useful?
Write a program to implement OOPS concepts such as inheritance, polymorphism, friend function, operator overloading?
What is the purpose of polymorphism?
Why is abstraction used?
What is class and object with example?
What is constructor overloading in oop?