如果一个类实例话为int类型的类南无就不能用它去处理一个其他啊类型的数据;
一个类模板中的系统可以提供的默认函数都不能被类模板中的模板函数代替,如果删除原有函数,系统会默认提供函数
为什么要给拷贝构造函数提供模板为了用其他的类来初始化
普通的成员方法可以被模板所替代(因为编译器不会自动提供)
class link
{
public:
link();
link(const link<T> & src)
{
cout<<"link(const linK<T> &src)<<"<<endl;
}
template <typename E>
link(const link<E> &SRCC)
{
cout<<"link(const link(E) &src)"<<endl;/
}
~link()
{
cout<<"~link()"<<endl;
}
}
类模板的 完全特例化和非完全的特例化
完全特例化
函数模板的实参推演问题( 对于复杂类型的类型进行判断)
template (typename R,typename A,typename B)
class mytest<T,(*)(A1,A2)> 类型进行很好的判断 前提实参和形参的类型一样 不能用一个类类型去推演出其他类型因为不确定能否转换
模板的完全特例化和非完全特例化
完全特例化 直接根据某一类进行完全特例化
部分特例化
例如
template <typename T>
class link