摘要: 前面达内培训已经为大家总结了有关C++转型(一)的相关内容,今天我们继续为大家分享C++转型(二)的相关知识,希望大家喜欢。 看下面的类层次图: 假定一个类型E的对象和一个指向D子对象的指针,从D子对象导航到左上A子对象,必须执行三个转换。从D到E的dynamic_cast的转换,然后一个从E到B的转换(可以是dynamic_cast或者隐式转换),最终是从B到A的转换,例如:void f(D* pd) { E* pe = dynamic_cast<E*>(pd);// 这里的 D 实际上是 E 类型的对象 B* PB = pe; // upcast, implicit conve 阅读全文
posted @ 2013-05-06 15:14 wxp2xxx 阅读(126) 评论(0) 推荐(0)
摘要: 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast.标准C++中有四个类型转换符:static_cast、dynamic_cast、reintERPret_cast、和 const_cast.今天达内IT培训集团为大家总结有关C++转型的相关知识,希望大家喜欢,下面对它们一一进行介绍。 I. static_cast 用法:static_cast < type-id > ( expression ) 该运算符把ex 阅读全文
posted @ 2013-05-06 15:12 wxp2xxx 阅读(136) 评论(0) 推荐(0)