?? 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 + -