4
你可以有一個父類共享指針返回類型的函數,然後返回一個新的子類,而不是它是一個共享指針?我不確定共享指針如何在這些情況下工作,它們是否像普通指針一樣行事?這是我的例子:當父類共享指針是返回類型時返回新的基類
BaseEventPtr Actions::getEvent(const std::string& nodeName)
{
if(asLowerCaseString(nodeName) == "action")
return new ActionEvent(&m_interface);
return nullptr;
}
動作事件是BaseEvent在這種情況下,子類。
乾杯!
有沒有聽說過[工廠模式](http://stackoverflow.com/q/5120768/796036)?也許這會給你一些想法,你真正想要的。 –
是的,我聽說過它,將考慮修改我正在工作的當前系統,乾杯。 –