模板是什么?
当同时使用了模板和原数据类型时:
优先使用原数据类型(即上图中使用第二个函数)
在有些情况下,模板不能处理一些特殊情况,这时就需要额外定义一个原数据类型的函数在处理。
模板的重载:
常量指针
常量指针的意思是指向常量的指针,即指向的对象不可写。
模板函数的重载:
注意当上述两个函数名字相同但参数不同,这就是对模板函数进行了一次重载。
类模板:
这玩意说起来可能有些复杂,但实际上就是实现C++中STL的东西,比如在vector中可以存放任意类型的元素,只要使用vector<typename>定义即可,自定义的结构体也可以放在其中,这就是模板实现的效果。
template<typename T>实现的任意类型的数据类型,
template<class T>实现的是含有任意类型的数据类型的类
下面是一个存储类用类模板实现的例子:
注意在实现类模板的成员函数时也要重新声明模板
下面是类模板的使用(使用过STL的同学一定相当熟悉了)