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