模板类

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是对基础类型说的

 

posted @ 2018-07-06 16:35  Jary霸  阅读(94)  评论(0编辑  收藏  举报