#include <iostream>
#include<assert.h> //断言
using namespace std;
//模板 重载数组[] 与断言assert
template<class T,int len>
class Array
{
private:
T elem[len];
public:
Array() {};
//重载数组
T& operator[](int sub) //sub为下标
{
//断言 assert(布尔表达式); 真继续,假直接终止程序
assert(sub >= 0 && sub < len);
return elem[sub];
}
};
int main()
{
Array<int, 5> arr;
arr[0] = 1;
cout << arr[0];
return 0;
}