一个类中可能有多个不同类型的成员,在这种情况下,我们可以写模版做通用的类。当变量被声明,变量的类型被正确的指定。
#include <iostream>
using namespace std;
template <class T>//传递一个未知的类型
class Stack
{
public:
//一些函数方法
private:
//成员变量
T *sta;
};
//实现函数
template <class T>
Stack<T>::函数名
{
//例如: 定义一个数组
sta = new T[10];
}
int main(int argc,char* argv[])
{
//int 型,会传递一个int,T=int 模版类中的用到的类型将会变成int型
Stack<int> stack;
//char 类型 T=char
Stack<char*> stack;
//这样的话,就不需要写不同类型的类了,只需一个即可
return 0;
}
在用通用类的时候,也可以带上其他的参数
如: template <class T, int max_size> 在类中就可以使用 int max_size