c++之类模板
2017-11-20 15:43
253 查看
前言:这篇博客不注重讲解。
main.cpp
注意点:
1.当类外定义函数时,必须要加上
2.类外出现类的名字,后面必须跟上<>,记忆方法,联系主函数中的
3.注意申请空间和释放空间的方法
代码
myarray.h#ifndef MYARRAY_H #define MYARRAY_H #include <iostream> using namespace std; template<typename T,int ksize,int kval>//这句话必须在class之前,这里为一个参数,2个变量 class myarray { public: myarray();//无参构造函数 ~myarray()//析构函数 { delete []m;//释放内存 } void display();//函数成员 private: T *m; }; template<typename T,int ksize,int kval>//注意:当类外定义函数时,必须要加上这句话,这就话与前面一样 myarray<T,ksize,kval>::myarray()//<T,ksize,kval>,只要类外出现类的名字,后面必须跟上<>,注意,这里不再是<typename T,int ksize,int kval>,因为这里不是模板,所以要指定。 { m=new T[ksize];//申请空间 for(int i=0;i<ksize;i++) { m[i]=kval; } } template<typename T,int ksize,int kval> void myarray<T,ksize,kval>::display()//同前面 { for(int i = 0;i < ksize ;i++) { cout << m[i]<<endl; } } #endif // MYARRAY_H
main.cpp
int main() { myarray<int,5,6> arr; arr.display();//注意,这里不再用<>; return 0; }
注意点:
1.当类外定义函数时,必须要加上
template<typename T,int ksize,int kval>。
2.类外出现类的名字,后面必须跟上<>,记忆方法,联系主函数中的
<int,5,6>,所以要跟上
<T,ksize,kval>
3.注意申请空间和释放空间的方法
相关文章推荐