【发布时间】:2012-10-03 11:17:05
【问题描述】:
你能有一个父类共享指针返回一个函数的类型,然后返回一个新的子类而不是一个共享指针吗?我不确定共享指针在这些情况下是如何工作的,它们是否像普通指针一样工作?这是我的例子:
BaseEventPtr Actions::getEvent(const std::string& nodeName)
{
if(asLowerCaseString(nodeName) == "action")
return new ActionEvent(&m_interface);
return nullptr;
}
ActionEvent 在这种情况下是 BaseEvent 的子类。
干杯!
【问题讨论】:
-
听说过factory pattern吗?也许这会给你一些你真正想要的想法。
-
是的,我听说过,会研究它以改进我正在开发的当前系统,干杯。
标签: c++ pointers shared base derived