Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <string>
using namespace std;
class A{
	mutable int a;
public:
	A(){
		cout<<"A's Constructor called\n";
	}
	~A(){
		cout<<"A's Destructor called\n";
	}
};
class B: public A{
	A a;
public:
	B(){
		cout<<"B's Constructor called\n";
	}
	~B(){
		cout<<"B's Destructor called\n";
	}
};
int main(int argc, char const *argv[])
{
	B b1;
}

A. A's Constructor called
B's Constructor called

B. A's Destructor called
B's Destructor called

C. A's Constructor called
A's Constructor called
B's Constructor called
B's Destructor called
A's Destructor called
A's Destructor called

D. A's Constructor called
B's Constructor called
A's Destructor called
B's Destructor called

Answer: Option C


Join The Discussion

Related Questions on Constructors and Destructors in C plus plus