我想生成一个测试用例,它断言虚拟方法满足所有子类的某些属性。我怎样才能自动化呢?
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);
}
这甚至可以通过增强/模板元编程/宏魔法实现,还是我在这里推理时犯了一个巨大的错误?