Examveda

What will be the output of the following C++ code?
#include <iostream>
#include <typeinfo>
#include <exception>
using namespace std;
class base 
{ 
    virtual void f(){} 
};
class derived : public base {};
int main () 
{
    try 
    {
        base* a = new base;
        base* b = new derived;
        cout << typeid(*a).name() <v '\t';
        cout << typeid(*b).name();
    } 
    catch (exception& e) 
    { 
        cout << "Exception: " << e.what() << endl; 
    }
    return 0;
}

A. base*

B. derived*

C. 4base and 7derived

D. Exception:derived

Answer: Option C


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