模板类
template <typename T,int size,int value> class Array { // 在Array类中嵌入了模板类 public: Array(); ~Array(); void show(); private: T * myArray; // 看这里 }; template <typename T,int size,int value> // 每个函数前都得有这句话 Array<T, size, value>::Array() { myArray = new T[size]; for (int i = 0; i < size; i++) { myArray[i] = value; } } template <typename T, int size, int value> // 每个函数前都得有这句话 Array<T,size,value>::~Array() { delete[]myArray; myArray = NULL; } template <typename T,int size,int value> // 每个函数前都得有这句话 void Array<T, size, value>::show() { for (int i = 0; i < size; i++) { cout << myArray[i] << endl; } }
这里也可以用 class T代替 typename T,
class T比typename T要大一点,typename是对基础类型说的