代码 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时,我必须明确指定U例如狗模板类的实例?
2)编译器是否对它们进行相同的处理。例如 cat::show() 在我使用它之前不会被编译。我猜对 dog::show(); 也是一样的。那么我在这里缺少什么吗?