我有这实际上是指向一个派生类这样C++通过引用传递对象和铸造
Base *b = new Derived()
我想知道的基类的一个目的,是有可能通过基类指针通过引用一些可以将对象转换回Derived类的函数。这样
Dummy_cast_fn(&b) // casts b to derived class
什么叫Dummy_cast_fn
后,b
应该有派生类(无切片)的完整副本。
编辑 我不明白自指针使用以来没有切片的部分。我的问题是Derived类从函数调用返回到共享库,并且我无权访问Derived的.h文件。我仅有的信息是Derived基于Base类。我有权访问Base.h,因此我可以实例化一个Base对象,但是当我尝试访问在Derived中定义的函数但不在Base中时出现问题。所以我想知道是否可以对基类派生类型进行类型转换,然后我将能够访问在Derived中定义的函数,而不是在Base中。
你想要一个完整的副本,或对原始的引用? – justin
除非您将指针存储在某处,否则为什么您要通过指针?相反,通过引用传递... –
我想要Derived的完整副本。 –