使用模板类,实现顺序栈
template <typename T>
class stack
{
T data[2];
T top;
public:
stack():top(-1){}
void stack_in(T a);
void stack_out();
};
template <typename T>
void stack<T>::stack_in(T a)
{
if(top<1)
{
top++;
data[top] = a;
}else
{
cout << "栈已满,无法入栈" << endl;
}
}
template <typename T>
void stack<T>::stack_out()
{
if(top>=0)
{
top--;
}else
{
cout << "栈空,无法出栈" << endl;
}
}
写一个char类型的字符数组,对该数组访问越界时抛出异常,并做处理
char fun(char a[],int b, int c)
{
if(b>=c)
{
throw int(2);
}
return a[b];
}
int main()
{
char a[10]={'2','3','4','a'};
int i = sizeof(a);
try
{
cout << fun(a,10,i) << endl;
} catch (int ret)
{
cout << "访问越界" << endl;
}
return 0;
}