C++ 的异常问题 ,学过的应该很简单

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:31:54
//例12-2 异常处理时的析构
#include <iostream.h>
void MyFunc( void );

class Expt
{ public:
Expt(){};
~Expt(){};
const char *ShowReason() const //。。。。。。。。。。
{ return "Expt类异常。";}
};

class Demo
{ public:
Demo();
~Demo();
};
Demo::Demo()
{
cout<<"构造 Demo."<<endl;
}
Demo::~Demo()
{
cout<<"析构 Demo."<<endl;
}

void MyFunc()
{ Demo D;
cout<<"在MyFunc()中抛掷Expt类异常。"<<endl;
throw Expt();
}

int main()
{ cout<<"在main函数中。"<<endl;
try
{ cout<<"在try块中,调用MyFunc()。" <<endl;
MyFunc();
}
catch( Expt E )
{ cout<<"在catch异常处理程序中。"<<endl;
cout<<"捕获到Expt类型异常:";
cout<<E.ShowReason()<<endl;
}

const char * ShowReason() const;返回类型是const char* ,后面的const主要是保证这个函数调用类里面其他成员不予以修改。

其实记忆很简单了,const放函数开头 表示 返回的是个常量,放参数表示入口参数是个常量,放后面表示程序内的代码是const(特指里面调用的数据成员 )。

目前还米学习到Class.