Visual Studio C ++检查类是否有基数

时间:2018-05-26 23:38:33

标签: visual-c++ member super base-class

我想知道在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;
            }
    }
};

0 个答案:

没有答案