1.模板
模板也叫作参数化的数据类型,模板有俩种类型:函数模板和类模板。
◎函数模板
函数模板的声明语法为:
template <模板参数表>
模板函数类型 模板函数名(参数表)
模板参数表由若干个“class模板参数”组成。
在一个程序中所调用的函数模板可能使用不同的参数列表,这就使得程序能够用不同类型的参数调用相同的函数。
函数模板与模板函数的区别:函数模板和类模板如同具有各种形状的模板、模板函数和模板类则相当于按照模板描绘,其形状相同,只是颜色各异。
◎类模板
同样,在一个程序中可能要声明类模板的多个对象。可以声明类模板A的多个不同类型的对象:
A <int> intA;
A <float> floatA;
A <double> doubleA;
2.异常处理
一般而言,C++的异常处理可以分为两大部分:一是异常的识别与发出,二是异常的捕捉与处理。
异常处理的语法结构如下:
class<异常标志>{}
try
{
、、、
throw(异常标志) //抛出异常
、、、
}
catch(异常标志) //捕捉异常
{
、、、
、、、 //处理异常
}
如果在try{}程序块发现异常,则由throw(异常)语句抛出异常,catch(异常)语句负责捕捉异常,当异常被捕捉以后,catch{}程序块内的程序则进行处理异常。在这里,throw(异常)语句所抛出的异常其实就是某种对象,是用来识别异常的。