从C ++中的类模板中的函数调用另一个成员函数

时间:2015-12-19 10:35:45

标签: c++ class-template

假设我有一个名为myTemplate的类模板,其中包含一些成员变量和两个成员函数funcTempAfuncTempB

template <class T>
class myTemplate
{
    private:
        //member variables
    public:
        T* funcTempA(T *arg1, T *arg2);
        T* funcTempB(T *arg1, T *arg2);
}

funcTempB在其实施中调用funcTempA。我只是想知道调用它的正确语法是什么。

template <class T>
T* funcTempB(T *arg1, T *arg2)
{
    //how to call funcTempA here?
}

2 个答案:

答案 0 :(得分:3)

要调用成员变量或成员函数,您可以使用this关键字。

template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
{
    this->funcTempA(arg1, arg2);
    return ...;
}

您可以阅读this了解有关this

的内容

答案 1 :(得分:3)

直接调用它,例如:

return funcTempA(arg1, arg2);

顺便说一句:成员函数funcTempB的定义似乎不对,可能会导致一些意外错误。

template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
// ~~~~~~~~~~~~~~~
{
    return funcTempA(arg1, arg2);
}

LIVE