dynamic_cast使用的讨论
一 问题
1)什么时候应必须使用dynamic_cast
2)什么时候dynamic_cast可以使用static_cast代替
二 实例
//
TestCast.cpp : Defines the entry point for the console application.
//
#include
"
stdafx.h
"
#include
<
iostream
>
using
namespace
std;
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
class
Base
{
public:
virtual void f() { cout << "Base::f" << endl; }
void f1(){cout << "Base::f1" << endl;}
private:
double x;
double y;
}
;
class
Derived :
public
Base
{
public:
virtual void f(){cout << "Derived::f" << endl; }
virtual void k(){cout << "Derived::k" << endl; }
private:
double z;
}
;
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
class
Base1
{
public:
virtual void g(){ cout << "Base1::g" << endl;}
void g1(){cout << "Base1::g1" << endl;}
}
;
class
Derived1 :
public
Base,
public
Base1
{
public:
virtual void f(){ cout << "Derived1::f" << endl;}
virtual void h(){ cout << "Derived1::h" << endl;}
}
;
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
void
Test1()
{
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
// 对于单继承,
// 如果PD真的指向Derived,用dynamic_cast和static_cast效果相同
Base *pD = new Derived;
Derived *pD1 = dynamic_cast<Derived*>(pD);
pD1->f();
pD1->k();
pD1->f1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
Derived *pD2 = static_cast<Derived*>(pD);
pD2->f();
pD2->k();
pD2->f1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
// 但是如果PB不是真的指向Derived,则用dynamic_cast则返回NULL,能够更早的禁止error的发生,
// 如果用static_cast虽然返回的不为NULL,但是运行时可能抛出exception。
//// Error code
//Base *pB = new Base();
//Derived *pD3 = static_cast<Derived*>(pB);
//pD3->f();
//pD3->k();
//pD3->f1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
//Derived *pD4 = dynamic_cast<Derived*>(pB);
//pD4->f();
//pD4->k();
//pD4->f1();
}
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
void
Test2()
{
// 对于多重继承,
// 如果PD真的指向的是Derived1,使用dynamic_cast和static_cast都可以转化为Derived1,
// 但是如果要转化为Base的兄弟类Base1,必须使用dynamic_cast,使用static_cast不能编译。
Base *pD = new Derived1;
Derived1 *pD1 = dynamic_cast<Derived1*>(pD);
pD1->f();
pD1->h();
pD1->f1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
Base1 *pB1 = dynamic_cast<Base1*>(pD);
pB1->g();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
Derived1 *pD2 = static_cast<Derived1*>(pD);
pD2->f();
pD1->h();
pD2->f1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
//// error can not compiler
//Base1 *pB2 = static_cast<Base1*>(pD);
//pB2->g();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
// 当然对于PB不是真的指向Derived1,想要转化为Derived1或Base的兄弟类Base1,情况与Test1中的error情况相同。
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
}
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
Test1();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
Test2();
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
return 0;
}
1)什么时候应必须使用dynamic_cast
2)什么时候dynamic_cast可以使用static_cast代替
二 实例
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/f70a0fde2b51b7dd92a70e712e540cf6.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![dynamic_cast使用的讨论 - Maosth - Maosth 的博客](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)