你能有一个父类共享指针返回一个函数的类型,然后返回一个新的子类而不是一个共享指针吗?我不确定共享指针在这些情况下是如何工作的,它们是否像普通指针一样工作?这是我的例子:
BaseEventPtr Actions::getEvent(const std::string& nodeName)
{
if(asLowerCaseString(nodeName) == "action")
return new ActionEvent(&m_interface);
return nullptr;
}
在这种情况下,ActionEvent 是 BaseEvent 的子类。
干杯!