0

我在如何处理类get方法中 的模板值返回时遇到了麻烦SetOfCells

是否可以按照如下所示的方式进行?这样做的正确语法是什么?(我使用cellParent指针数组指向每个单元格)

template <class T>
class cell : public cellParent 
{
    .....
    T get() { return Val;}
    .....
private:
    T val;
};

class SetOfCells
{
    ....
    template<class T> T get(int cellIndex)
    {
       return cellArray[cellIndex]->get();
    }
    ....
private:
    cellParent**  cellArray;
};
4

1 回答 1

0

SetOfCells使用cellParent- 要么没有定义,要么template <class T> T get(int cellIndex)定义了它,但它没有在cell类中被覆盖。

请注意,不可能做您想做的事情:您不能在 C++ 中覆盖模板成员函数。

所以,我的建议是有SetOfCells一个模板类并有一个cell<T>**成员。

template <class T>
class SetOfCells
{
    ....
    T get(int cellIndex)
    {
       return cellArray[cellIndex]->get();
    }
    ....
private:
    cell<T>**  cellArray;
};
于 2013-08-26T05:39:45.810 回答