C++中的代码重用
类模板
类模板以及模板函数不是类或成员函数,而是C++编译器指令。
模板的具体实现被称为实例化或具体化。
不能讲模板成员函数放在独立的实现文件中
应当将模板类的声明以及模板成员函数都放在一个.h的头文件中,使用时包含该头文件。
template <class Type> //或者 template <typename Type>
class Stack
{
private:
Type items[MAX];
public:
Stack();
bool push(const Type & item);
};
template <class Type>
Stack<Type>::Stack()
{
top = 0;
}
每个模板类成员函数的前面都要加上
template <classType>
或template <typename Type>
- 使用模板类:
Stack<int> kernels;
Stack<string> colonels;
与常规的函数模板不同,类模板必须显式提供所需的类型。