类型转换之动态转型(dynamic_cast)
多态可以扩展到每一个对象可以动态的被识别,从而区分类型做只有该类型才有的操作,而不是虚函数规定的操作,这要依赖于类型的动态转换。例如一个Account * 的容器中,针对以下对象进行操作:Savings类对象,余额增加以1%计算的利息。Checking类对象,余额增加以0.05%计算利息。
Demo代码如下:
本文介绍了C++中动态转型dynamic_cast的使用,通过示例代码展示了如何在多态场景下识别并操作不同类型的对象,如Checking和Saving类。dynamic_cast用于基类指针转换为子类指针,若转换失败则返回NULL,避免了不必要的操作错误。
多态可以扩展到每一个对象可以动态的被识别,从而区分类型做只有该类型才有的操作,而不是虚函数规定的操作,这要依赖于类型的动态转换。例如一个Account * 的容器中,针对以下对象进行操作:Savings类对象,余额增加以1%计算的利息。Checking类对象,余额增加以0.05%计算利息。
Demo代码如下:
1335

被折叠的 条评论
为什么被折叠?