Я хотел бы знать, есть ли способ в 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;
}
}
};