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>
ですか? とにかく異なるテンプレートパラメータを持つことはできないので?
これが完全に明確でない場合は申し訳ありません。ありがとう!