C++ dynamic_cast用法

示例example

class B

{

virtual void f(){};

};

class D : public B

{

virtual void f(){};

};


int main(void)

{

 B* pb = new D; // unclear but ok

 B* pb2 = new B; 

 D* pd = dynamic_cast(pb); // ok: pb actually points to a D 

 D* pd2 = dynamic_cast(pb2); // pb2 points to a B not a D, now pd2 is NULL

return 0;

}

父类向子类转化,需要在开始的时候事先实例化子类!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++类型转换总结 本章内容:1 前言2 static_cast3 dynamic_cast4 const_cas...
    Haley_2013阅读 959评论 0 50
  • C++中的类型转换分为两种:隐式类型转换;显式类型转换。 而对于隐式变换,在很多时候,不经意间就发生了,比如int...
    DayDayUpppppp阅读 14,640评论 6 26
  • 再读高效c++,颇有收获,现将高效c++中的经典分享如下,希望对你有所帮助。 1、尽量以const \enum\i...
    橙小汁阅读 1,246评论 0 1
  • 天空清蓝树叶清新房子清静我心清明 -2017年4月3日
    Hodgepodge阅读 185评论 0 0
  • 如何看待爸爸参加家长会 伴随着期末考试的结束,迎来了又一次家长会。经李老师和家委会决定,今天我们班...
    肖睿妈妈阅读 279评论 0 4