【问题标题】:Casting a Derived class pointer to a Base class reference将派生类指针转换为基类引用
【发布时间】:2014-03-09 21:01:27
【问题描述】:

我有一个关于 Base->Derived 类关系和强制转换的快速问题。正如标题所说,我需要将一个指向派生类的指针转换为对父类的引用。目前,我有这个代码:

IIcon& retval = static_cast<IIcon&>(*obj),其中obj是AtlasTexture*对象,是IIcon的派生类。

我对 C++ 中的许多不同类型的强制转换仍然有些模糊,想知道这是否可行,以及是否有更有效或更安全的方法来做同样的事情。

谢谢。

【问题讨论】:

    标签: c++ pointers casting reference derived-class


    【解决方案1】:

    你可以写得更简单

    IIcon& retval = *obj;
    

    【讨论】:

    • 这在您将派生类转换为父类型的任何时候都有效吗?
    • @sm81095 是的,有效。
    猜你喜欢
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多