我想生成一个测试用例,它声明虚拟方法满足所有子类的某些属性。我如何自动执行此操作?如何遍历C++类的所有子类(在编译时)?
class A {
virtual int foo() = 0;
};
class B : public A {
virtual int foo() override;
};
class C : public A {
virtual int foo() override;
};
我想这样做(我知道下面的语法是垃圾)
for (A : SUBCLASSES_OF(A))
{
A a;
assert(a.foo() == 42);
}
是,即使升压/模板元编程/宏魔术可能的,还是我做出巨大的这里的推理错误?
也许你可以砍了注册在推动融合的一切东西,但没有任何一种先前登记的,这是不可能的。 – PlasmaHH 2013-02-22 15:59:56