elabbase.cpp

来自「数值计算工具库,C语言编写的,可以直接调用.」· C++ 代码 · 共 46 行

CPP
46
字号
#ifdef BZ_NO_TYPENAME
 #define typename
#endif


// Template-qualified base class specifier
// BZ_TEMPLATE_QUALIFIED_BASE_CLASS

class base1 { 
public:
    int bar() const
    { return 1; }
};

class base2 { 
public:
    int bar() const
    { return 0; }
};

template<class X>
struct base_trait {
    typedef base1 base;
};

template<>
struct base_trait<float> {
    typedef base2 base;
};

template<class T>
class weird : public base_trait<T>::base {
public:
    typedef typename base_trait<T>::base base;

    int zowee() const
    { return bar(); }  
};

int main()
{
    weird<float> z;
    return z.zowee();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?