我有一个带有虚拟克隆新方法的基类
class A
{
virtual A* cloneNew() const { return new A; }
};
及其衍生物
class A1 : public A
{
virtual A1* cloneNew() const { return new A1; }
};
class A2 : public A
{
virtual A2* cloneNew() const { return new A2; }
};
现在我想使用宏或其他方式使其重新实现更容易,例如
class A1: public A
{
CLONE_NEW; // no type A1 here
};
有可能做到吗?decltype(this) 有帮助吗?