コード 1 :
template <class T>
class cat{
public:
T a;
void show(){
cout << a ;
}
};
コード 2 :
template <class T>
class dog{
public:
T a;
template <class U> // making show function template
void show(){
cout << a ;
}
};
cat::show()
テンプレート クラスのメンバ関数も同様です
。
テンプレートクラスのdog::show()
メンバ関数テンプレートです。
質問:
1)メンバー関数 show を呼び出すときではなく、クラス テンプレートの cat と dog に違いはありますか?
2)コンパイラはそれらを同じように処理しますか。たとえば、 cat::show() は使用するまでコンパイルされません。そして、dog::show(); についても同じことが言えると思います。ここに欠けているものはありますか?