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