Examveda

What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class BaseClass 
{
    public:
    virtual void myFunction()
    {
        cout << "1";
    }
};
class DerivedClass1 : public BaseClass 
{
    public:
    void myFunction()
    {
        cout << "2";
    }
};
class DerivedClass2 : public DerivedClass1 
{
    public:
    void myFunction()
    {
        cout << "3";
    }
};
int main()
{
    BaseClass *p;
    BaseClass ob;
    DerivedClass1 derivedObject1;
    DerivedClass2 derivedObject2;
    p = &ob;
    p -> myFunction();
    p = &derivedObject1;
    p -> myFunction();
    p = &derivedObject2;
    p -> myFunction();
    return 0;
}

A. 123

B. 12

C. 213

D. 321

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