我刚开始学习 C++,正在查看有关模板的在线教程。
我正在查看的示例:
// class templates
#include <iostream>
using namespace std;
template <class T>
class mypair {
T a, b;
public:
mypair (T first, T second)
{a=first; b=second;}
T getmax ();
};
template <class T>
T mypair<T>::getmax ()
{
T retval;
retval = a>b? a : b;
return retval;
}
int main () {
mypair <int> myobject (100, 75);
cout << myobject.getmax();
return 0;
}
我不完全理解的是标题getmax()
:
template <class T>
T mypair<T>::getmax ()
几个问题:
是否可以在成员函数定义中包含比在模板类中更少或更多的模板参数?那么,如果mypair
实际上接受了class T
and class U
,那么当你定义 时getmax
,是否可以只class T
作为模板参数传递?
如果不是这种情况,那么拥有class T
and是多余的mypair<T>
吗?既然你不能有不同的模板参数吗?
抱歉,如果这不完全清楚。谢谢!