C++ | Virtual Functions | Question 10
#include<iostream> using namespace std; class Base { public : Base() { cout<< "Constructor: Base" <<endl; } virtual ~Base() { cout<< "Destructor : Base" <<endl; } }; class Derived: public Base { public : Derived() { cout<< "Constructor: Derived" <<endl; } ~Derived() { cout<< "Destructor : Derived" <<endl; } }; int main() { Base *Var = new Derived(); delete Var; return 0; } |
(A)
Constructor: Base Constructor: Derived Destructor : Derived Destructor : Base
(B)
Constructor: Base Constructor: Derived Destructor : Base
(C)
Constructor: Base Constructor: Derived Destructor : Derived
(D)
Constructor: Derived Destructor : Derived
Answer: (A)
Explanation: Since the destructor is virtual, the derived class destructor is called which in turn calls base class destructor.
Quiz of this Question
Please Login to comment...