父类的构造函数的模板特化

时间:2015-10-28 16:04:41

标签: c++ templates inheritance specialization

我得到了{'James Johnson': ['3', '6'], 'Bob Smith': ['7', '9', '4']} ,它是模板化的,并希望使用ArrayItem类继承它。由于我想将它们用作内存的模板,我希望ArrayItem类知道我们有哪种类型。所以我想专门构建一些Template值的构造函数,例如long long。

BaseType

hpp应该是这样的:

    template<typename T>
    class ArrayItem : public BaseType<T>
    {
    public:
        inline ArrayItem(T& t);
        inline ETypes getType();
    private:
        ETypes m_type;
    };

但是我如何在这里进行专业化?

template <typename T>
ArrayItem<T>::ArrayItem (T& t): BaseType(t)
{
}

template <>
ArrayItem<long long>::ArrayItem(long long& t) : BaseType<long long>(t) // this
{
    m_type = INT;
}


template<typename T>
inline ETypes ArrayItem<T>::getType()
{
    return m_type;
}

1 个答案:

答案 0 :(得分:1)

除了为典型案例提供PFUser的模板参数之外,您对我的看法正确。

这是一个简单的演示:

BaseType