考试网 >> IT认证 >> 水平 >> 软件指导 >> 构造函数中抛出的异常

构造函数中抛出的异常

发布时间:2006-06-28 05:19     点击:
分页:上一页  1 2 3 [4] 5  下一页

}

void Other() {}

protected:

string m_name;

};

class MyTest_Parts

{

public:

MyTest_Parts ()

{

cout << "构造一个MyTest_Parts类型的对象" << endl;

}

virtual ~ MyTest_Parts () 

{

cout << "销毁一个MyTest_Parts类型的对象"<< endl;

}

};

class MyTest_Derive : public MyTest_Base

{

public:

MyTest_Derive (string name = "") : m_component(), MyTest_Base(name)

{

throw std::exception("在MyTest_Derive对象的构造函数中抛出了一个异常!");

cout << "构造一个MyTest_Derive类型的对象,对象名为:"<<m_name << endl;

}

virtual ~ MyTest_Derive () 

{

cout << "销毁一个MyTest_Derive类型的对象,对象名为:"<<m_name << endl;

}

protected:

MyTest_Parts m_component;

};

void main()

{

try

{

// 对象构造时将会抛出异常

MyTest_Derive obj1("obj1");

obj1.Func();

obj1.Other();

}

catch(std::exception e)

{

cout << e.what() << endl;

}

catch(...)

{

cout << "unknow exception"<< endl;

}

}

  程序运行的结果是:

  构造一个MyTest_Base类型的对象,对象名为:obj1

  构造一个MyTest_Parts类型的对象

  销毁一个MyTest_Parts类型的对象
分页:上一页  1 2 3 [4] 5  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有