Examveda

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;
}

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

Related Questions on C plus plus miscellaneous

What is the difference between '++i' and 'i++' in C++?

A. None of the above

B. They both have the same effect

C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it

D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it