C++ | Inheritance | Question 2
Output?
#include <iostream>
using namespace std;
class Base1 {
public :
~Base1() { cout << " Base1's destructor" << endl; }
};
class Base2 {
public :
~Base2() { cout << " Base2's destructor" << endl; }
};
class Derived: public Base1, public Base2 {
public :
~Derived() { cout << " Derived's destructor" << endl; }
};
int main()
{
Derived d;
return 0;
}
|
(A)
Base1's destructor
Base2's destructor
Derived's destructor
(B)
Derived's destructor
Base2's destructor
Base1's destructor
(C)
Derived's destructor
(D) Compiler Dependent
Answer: (B)
Explanation: Destructors are always called in reverse order of constructors.
Quiz of this Question
Last Updated :
28 Jun, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...