2012年8月22日

摘要: 一般来说,虚成员函数可以满足对象的动态类型匹配的需要,一个定义良好的类层次结构应该为基类中声明的每个虚成员函数定义有意义的操作。然而事情并非总是这样美妙。假设有一个家电电器管理系统,可以管理电扇、电视机等。为了能够实现统一管理,我们设计一个抽象基类HomeElectricDevice来定义一些公共操作。Class HomeElectricDevice{ Public: Virtual void Open()=0; //打开 Virtual void close()=0; //关闭 Virtual void Adjust(bool updown)=0; //调节温度或者音量等。//other m 阅读全文
posted @ 2012-08-22 10:02 yetta2011 阅读(209) 评论(0) 推荐(0)
摘要: 传统的错误处理是用不同的数值来表示不同类型的错误,其表达能力很有限,因为一个数字包含的信息量太少,而C++异常处理机制将异常类型化,显然一个类型要比一个数字包含的信息量大得多。 比如我们常用的函数fopen(),当打开文件失败是返回NULL,按照传统的错误处理方法,在调用Fopen()后立即检查其返回值,如果为NULL就进行错误处理,如果将返回NULL改为抛出异常OpenFailed,那么我们就不用在调用fopen()后马上检查返回值,而是在调用函数内部或者更高层的调用者那里设置异常处理器来捕获这个异常,C++保证:如果一个异常在抛出点没有得到处理,那么它将一直抛向上层调用者,直至main() 阅读全文
posted @ 2012-08-22 10:01 yetta2011 阅读(221) 评论(0) 推荐(0)

导航