C++ 类模板

289 阅读1分钟

C++类模板

类模板 函数声明和函数实现必须写一个文件里

实现的函数,必须加上template<typename T, int Ksiez, int Kval> 这样的定义

#include <iostream>
#include <cstdlib>

using namespace std;


//.h 声明
template<typename T, int Ksiez, int Kval>
class Myarray {
public:
    Myarray();

    ~Myarray() {
        delete mpArr;
    }

    void display();

private:
    T *mpArr;
};

//cpp  这叫定义
template<typename T, int Ksiez, int Kval>
Myarray<T, Ksiez, Kval>::Myarray() {
    mpArr = new T[Ksiez];
    for (int i = 0; i < Ksiez; ++i) {
        mpArr[i] = Kval;
    }
}
template<typename T, int Ksiez, int Kval>
void Myarray<T,Ksiez,Kval>::display() {
    for (int i = 0; i < Ksiez; ++i) {
        cout<<mpArr[i]<<endl;
    }
}

int main() {
    Myarray<int,5,6> myarray;
    myarray.display();
    return 0;

}