假设我有 Derived* derivedPtr;
我想要来自 derivedPtr 的 Base baseObject;
基础 baseObject = *derivedPtr; 会使用适当的基类成员变量创建 baseObject 吗?
谢谢
假设我有 Derived* derivedPtr;
我想要来自 derivedPtr 的 Base baseObject;
基础 baseObject = *derivedPtr; 会使用适当的基类成员变量创建 baseObject 吗?
谢谢
它是对象切片
Derived* obj = new Derived;
base objOne = (*obj) ; // Object slicing. Coping only the Base class sub-object
// that was constructed by eariler statement.
您可以使用动态转换来完成此操作。
例如
Base* baseObject = dynamic_cast<Base*>(derivedPtr);
是的。这实际上称为“切片”,因为您只是从派生类中切掉所有内容。