H
hhome
В википедии написано только про приведение типов
А есть ли у dynamic_cast другие полезные свойства или только одно это?
C++:
class A
{
public:
virtual void foo() {}
};
class B : public A
{
public:
void methodSpecificToB() { std::cout << "B::methodSpecificToB()\n"; }
};
void my_function(A &my_a)
{
try
{
B &my_b =dynamic_cast<B&>(my_a);
my_b.methodSpecificToB();
}
catch (const std::bad_cast& e)
{
std::cerr << e.what() << std::endl;
std::cerr << "Этот объект не является объектом типа B" << std::endl;
}
}
А есть ли у dynamic_cast другие полезные свойства или только одно это?