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;
}
#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
Related Questions on Standard Template Library (STL) in C plus plus
Which header file is used to include the vector container in C++ STL?
A. <vector>
B. <array>
C. <list>
D. <map>
What does STL stand for in C++?
A. Simple Template Library
B. Standard Template Library
C. System Template Library
D. Structured Template Library
What is the purpose of the 'std::sort' function in C++ STL?
A. To sort elements of a container
B. To search for an element in a container
C. To insert elements into a container
D. To remove elements from a container

Join The Discussion