您的位置:首页 > 其它

dynamic_cast 和 dynamic_Pointer_cast的使用

2017-07-06 13:05 806 查看
仅仅是自我的总结,不涉及过多。。需要更多详细资料的请自行百度。

1.指引或者引用的向上转换,向下转换

例如基类A ,派生类B.。A->B 则为向下转换。。B->A则为向上转换。。向上转换为隐士转换。向下转换需要dynamic_cast或者c的转换方式。
B * b = new B;
A * a = b;
此时b就是向上转换。无需显式转换既可以编译通过。

2.dynamic_cast 

一般用于有继承关系的类之间的向下转换。

3.dynamic_pointer_cast

当指针是智能指针时候,向下转换,用dynamic_Cast 则编译不能通过,此时需要使用dynamic_pointer_cast。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐