从 C++ 中的 class 模板中的函数调用另一个成员函数
Calling another member function from a function in a class template in C++
假设我有一个名为 myTemplate
的 class 模板,其中包含一些成员变量和两个成员函数,funcTempA
和 funcTempB
.
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?
}
要调用成员变量或成员函数,可以使用this
关键字。
template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
{
this->funcTempA(arg1, arg2);
return ...;
}
您可以阅读 this 以了解有关 this
的矿石
直接调用即可,如:
return funcTempA(arg1, arg2);
顺便说一句:成员函数funcTempB
的定义似乎有误,可能会导致一些意想不到的错误。
template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
// ~~~~~~~~~~~~~~~
{
return funcTempA(arg1, arg2);
}
假设我有一个名为 myTemplate
的 class 模板,其中包含一些成员变量和两个成员函数,funcTempA
和 funcTempB
.
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?
}
要调用成员变量或成员函数,可以使用this
关键字。
template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
{
this->funcTempA(arg1, arg2);
return ...;
}
您可以阅读 this 以了解有关 this
直接调用即可,如:
return funcTempA(arg1, arg2);
顺便说一句:成员函数funcTempB
的定义似乎有误,可能会导致一些意想不到的错误。
template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
// ~~~~~~~~~~~~~~~
{
return funcTempA(arg1, arg2);
}