⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12_15.cpp

📁 C++案例教程源代码
💻 CPP
字号:
#include <iostream>
#include <string>
#include <iomanip>
#include <stdexcept>
using namespace std;
const DefaultArraySize=10;				//类型缺省为整型
template<typename elemType> 
class Array
{public:
	explicit Array(int sz=DefaultArraySize)	{	size=sz;		ia=new elemType[size];	}
	~ Array()	{  delete [] ia;}
	elemType & operator [] (int ix) const	//对下标运算符[]重载
	{	if(ix<0||ix>=size)				//增加异常抛出,防止索引值越界
		{	string eObj="Out_of_range error in Array <elemType>::operator[]()";
			throw out_of_range(eObj);
		}
		return ia[ix];					//保留原来[]的所有索引方式
	}
private:
	int size;
	elemType *ia;
};
int main()
{	int i;		Array<int> arr;
	try								//写入arr [10]时出界
{	for(i=0;i<=DefaultArraySize;i++) {arr[i]=i+1;	cout<<setw(5)<<arr[i];	} 
		cout<<endl;
	}
	catch(const out_of_range & excp) 	//输出异常信息
{	cerr<<'\n'<<excp.what()<<'\n'; 		return -1;	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -