📄 template2.cpp
字号:
#include <iostream>
using namespace std;
template <class T,int U> class List
{
private:
T *a;
public:
int size;
List();
T operator[ ](int i);
~List();
};
template <class T,int U> List<T,U>::List()
{
a = new T[U];
for (int i=0; i<U; i++)
a[i]=(T)(i+48);
size = U;
}
template <class T,int U> T List<T,U>::operator[ ](int i)
{
return a[i]+1;
}
template <class T,int U> List<T,U>::~List()
{
delete[] a;
}
void main()
{
List <char,10> c; //注意,你只能把常数赋值给模板的"实际"参数
//因为模板的本质是直接替换!就像#define一样
//所以你不用担心它的效率
for(int i=0;i<c.size;i++)
cout<<c[i];
}
//定义有多个参数的模板
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -