gpt4 book ai didi

C++ 类工厂宏

转载 作者:行者123 更新时间:2023-11-30 04:20:04 25 4
gpt4 key购买 nike

<分区>

我想制作一个宏来轻松创建新类,这些新类派生自具有不同名称和略有不同行为的相同基类。

我已经有了

class FactoryBonusModifier
{
public:
/// Function to overload
virtual BonusModifierAbstract* createBonus() const = 0;
protected:
};

#define DEFAULT_BONUS_FACTORY_DECLARATION(FactoryName) \
class Factory## FactoryName : public FactoryBonusModifier \
{ \
public: \
virtual BonusModifierAbstract* createBonus() const; \
};

#define DEFAULT_BONUS_FACTORY_IMPLEMENTATION(FactoryName) \
BonusModifierAbstract* Factory## FactoryName::createBonus() const \
{ return new FactoryName(); }


DEFAULT_BONUS_FACTORY_DECLARATION(BonusModifierGoThroughWall);

和cpp中写的实现部分。

我想知道我是否可以有一个宏来构建一个枚举和这些新类的数组,尽可能少地复制/粘贴。

最后我想拥有类似的东西

enum BonusType{
Bonus1,
Bonus2,
...,
Nb_Bonus
};

FactoryBonusModifier* factories[Nb_Bonus] =
{
new FactoryBonus1(),
new FactoryBonus2(),
...,
}

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