📄 d_12_1.cpp
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
template <class Type>
class Array {
private:
const int size;
Type *buffer;
public:
Array (int s)
:size(s)
{ buffer = new Type[size];}
int gLength()
{return size;}
Type& operator[ ](int n) // ①下标符的重载函数
{ if (n >= size || n<0)
throw overflow();
else return buffer[n]; // ② 返回下标指定的字符
}
void disp()
{ for (int i=0;i<size;++i)
cout<<a[i];
<<endl;
}
};
class overflow {
public:
overflow(){}
void showReason()
{ cout << "对不起,数组越界!";
cin.get(); //等待结束,以便调测程序,可以删除
}
};
void main()
{ Array <int> array(10);
try {
for (int i=0; i<10; ++i)
array[i] = 2*i;
cout << "array [3] = "<< array [3]<<endl;
array[3] = 38;
cout << "array [3] = "<< array [3]<<endl;
cout << array [10];
}
catch (overflow E)
{
E.showReason();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -