我想知道在Visual Studio C ++中是否有一种方法可以检查(从方法中)类是否有一个基类,其中包含特定的基本成员。下面的代码中的方法 Foo()说明了我要完成的任务。
我尝试使用 __ if_exists()和 __ super ,但它似乎无效。任何建议将不胜感激。
方法 Foo()与 A (基础)和 B (派生)相同。这是因为最初的想法是使用宏添加此方法而不区分基类和派生类。
class A {
public:
bool Foo() {
__if_exists(__super::Foo) {
return __super::Foo();
}
__if_not_exists(__super::Foo) {
return false;
}
}
};
class B : public A {
public:
bool Foo() {
__if_exists(__super::Foo) {
return __super::Foo();
}
__if_not_exists(__super::Foo) {
return false;
}
}
};