Скачиваний:
18
Добавлен:
15.06.2014
Размер:
1.56 Кб
Скачать
яю>?5@0B>@ dynamic_cast O2;O5BAO G0ABLN <5E0=87<0 48=0<8G5A:>9 845=B8D8:0F88 B8?0 40==KE, :>B>@K9 ?>72>;O5B 2K?>;=OBL ?@82545=85 B8?0 40==KE. ?5@0B>@ dynamic_cast <>65B 1KBL ?@8<5=Q= : C:070B5;O< 8;8 AAK;:0<.



class A

{

public:

	virtual void foo();

...

};

 

class B : public A

{

public:

	void methodSpecificToB();

...

};

 

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>B >1J5:B =5 O2;O5BAO >1J5:B>< B8?0 B" << std::endl;

	}

}



Run-time type information (RTTI) - MB> A?5F80;L=K9 <5E0=87< >?@545;5=8O B8?0 >1J5:B0 2> 2@5<O 2K?>;=5=8O. '0I5 2A53> MB> 0:BC0;L=> 4;O >?@545;5=8O B8?0 >1J5:B0 ?> C:070B5;N.