类模板 函数声明和函数实现必须写一个文件里
实现的函数,必须加上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;
}