我有一个基类的对象,它实际上指向这样的派生类
Base *b = new Derived()
我想知道的是,是否可以通过引用某个函数来传递基类指针,该函数可以将对象转换回派生类。像这样的东西
Dummy_cast_fn(&b) // casts b to derived class
调用后Dummy_cast_fn
,b
应该有 Derived 类的完整副本(没有切片)。
编辑 由于使用了指针,我不明白没有切片的部分。我的问题是派生类是从对共享库的函数调用返回的,我无权访问派生类的 .h 文件。我所拥有的唯一信息是 Derived 基于 Base 类。我可以访问 Base.h,因此我可以实例化 Base 的对象,但是当我尝试访问在 Derived 中定义但不在 Base 中定义的函数时出现问题。所以我想知道是否可以将 Base 类型转换为 Derived 类型,然后我将能够访问 Derived 中定义的函数,而不是 Base 中定义的函数。