Examveda

What will be the output of the following C++ code?
#include <typeinfo>
#include <iostream>
using namespace std;
class shape
{
    public:
    virtual void myvirtualfunc() const {}
};
class mytriangle: public shape
{
    public:
    virtual void myvirtualfunc() const
    {   
    };
};
int main()
{
    shape shape_instance;
    shape &ref_shape = shape_instance;
    try 
    {
        mytriangle &ref_mytriangle = dynamic_cast(ref_shape);
    }
    catch (bad_cast) 
    {
        cout << "Caught: bad_cast exception\n";
    }
    return 0;
}

A. Caught standard exception

B. No exception arises

C. Caught: bad_cast exception

D. Caught: cast

Answer: Option C


Join The Discussion

Related Questions on Standard Template Library (STL) in C plus plus