1.当抛出的是类的元素时
//如果接受异常的时候,使用一个异常变量,则copy构造异常变量,会调用拷贝构造函数。
throw 类名();
catch (类名 e) //e可以写 也可以不写,不写的话就没法用e了
{
cout " 异常" << endl;
}
2.当抛出的是元素的引用时b
//使用引用的话 会使用throw时候的那个对象,不会执行拷贝构造函数。
throw &(类名());
catch(类名 &e)
{
cout << " 异常" << endl;
}
3.当catch的是类的指针时
//当使用指针时,会在catch之前析构,从而造成野指针的现象,因此应当动态分配内存。
throw new 类名;
catch(类名 *e)
{
cout << e << " 异常" << endl;
}
因此,当需要使用地址时,要使用引用的方式。
指针可以和引用/元素写在一块,但是引用/元素不能写在一块