模板类赋值运算符类

时间:2011-09-11 10:23:06

标签: c++ templates assignment-operator

我有一个TemplateArray和一个CharArray类。

如何使模板阵列的赋值运算符仅在模板阵列具有相同类型(I.E.char)或类似类型(I.E. unsigned char)到chararray时从chararray类复制?

TemplateArray和CharArray在功能上是相同的(除了CharArray可以处理NULL终止的字符串)。

例如:

template<typename TemplateItem>
TemplateList & TemplateList<TemplateItem>::operator=(const CharArray &ItemCopy)
{
    //How do I only copy when TemplateList is of type char (or similar unsigned char)
    //IE is same/similar to CharArray
    //Both classes are functionally the same, except CharArray is chars only
}

1 个答案:

答案 0 :(得分:3)

您似乎需要TemplateList::operator=的专业化:

template<>
TemplateList& TemplateList<char>::operator=(const CharArray &ItemCopy)
{
    // Do the copying here, you don't provide enough
    // information for a practical suggestion
}