What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class Base
{
public:
int m;
Base(int n=0)
: m(n)
{
cout << "Base" << endl;
}
};
class Derived: public Base
{
public:
double d;
Derived(double de = 0.0)
: d(de)
{
cout << "Derived" << endl;
}
};
int main()
{
cout << "Instantiating Base" << endl;
Base cBase;
cout << "Instantiating Derived" << endl;
Derived cDerived;
return 0;
}
#include <iostream>
using namespace std;
class Base
{
public:
int m;
Base(int n=0)
: m(n)
{
cout << "Base" << endl;
}
};
class Derived: public Base
{
public:
double d;
Derived(double de = 0.0)
: d(de)
{
cout << "Derived" << endl;
}
};
int main()
{
cout << "Instantiating Base" << endl;
Base cBase;
cout << "Instantiating Derived" << endl;
Derived cDerived;
return 0;
}
A. Instantiating Base
Base
Instantiating Derived
Base
Derived
B. Instantiating Base
Instantiating Derived
Base
Derived
C. Instantiating Base
Base
Instantiating Derived
Base
D. Instantiating Base
Answer: Option A
Join The Discussion