gpt4 book ai didi

c++ - 调用未知 child 的构造函数

转载 作者:行者123 更新时间:2023-11-30 03:10:07 24 4
gpt4 key购买 nike

我要调用构造函数;

class anAbstractClass
{
public: anAbstractClass(inputdatatype){/*blablabla*/}
};

class aChield : public anAbstactClass
{
/*
...
*/
}

void _engine::initShader(_anAbstractClass** inShader)
{
*inShader = new /*???*/(inputdata for the construcor)
}

aChield* theChield;
_engine* myEngine = new _engine();
myEngine->initShader(&theChield);

那么,如何在/???/调用构造函数?感谢您的回答!

最佳答案

你不能那样做。当 initShader 只知道基类时,它如何知道要调用哪个子构造函数?

我想你在这里想要的是一个模板化函数:

template <typename T>
void _engine::initShader(T ** inShader)
{
*inShader = new T(inputdata for the construcor)
}

关于c++ - 调用未知 child 的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com