编程教程
您现在的位置: 中国个人站长站 >> 网络编程 >> Visual C++ >> 教程正文 对话框类对象的自销毁与外销毁
推荐位

对话框类对象的自销毁与外销毁

中国个人站长站 Visual C++ 点击数: 更新时间:2004-8-25
,也就是说窗口类对象的内存此时就已经被(自)清空了。这是第一次调用类的析构函数。然后,因为模式对话框是静态对象,应用程序将再一次执行析构函数……不用我说,你知道什么来了吧?那个画着红色X号的对话框!恐怖啊!

“哦哟!其实我对它应用自销毁方法,当然就是为了使用无模式对话框!”。也许你会这样为你的自销毁对话框类辩解。

呵呵,让我为你的这句话做个直译:自销毁的对话框类只能创建为无模式对话框。是的,对于你自己的程序,对于目前的程序,当然不需要考虑这么多。

但是,更重要的原因是,使用了自销毁,一旦程序需要这个对话框表现为模式对话框,你将不得不直接修改该对话框类的代码。如果你把该类作为二进制的组件交给别人使用,那么对于那些需要使用模式对话框的人,这个类将毫无用处。

如果使用外销毁方法,那么这些问题都是不存在的,你需要记住的是一定要手动调用delete pdlg。这样虽然多了无数次的delete pdlg调用,但是你可以清楚的知道什么地方创建了它,然后又在什么地方销毁了它,这一切都被你牢牢地掌握着。而且,你可以根据不同的需要,利用该对话框类创建模式和无模式对话框,这事实上提高了程序的灵活性和可扩展性。

3         结论

自销毁对话框类限制了对话框的创建模式,降低了程序的灵活性和可扩展性。而外销毁对话框类没有这些限制。现代程序的编写风格更加重视程序扩展性和灵活性,所以,我建议在程序中使用外销毁方法。

上一页  [1] [2] 

教程录入:swh    责任编辑:swh 
个人站长站与你风雨同舟!
本站所提供的资源均来源于互联网,如有侵权行为,请与本站管理员联系,我们会第一时间删除!
·如果您发现《对话框类对象的自销毁与外销毁》文章有错误,也请通知我们修改!
联系邮箱chinageren#126.com,谢谢支持!
站内搜索:
广告服务 | 友情链接 | 联系我们 | 免责声明 | 用户留言 | 网站导航
版权所有:中国个人站长站 2007-2008 未经授权禁止复制或建立镜像 客服QQ号:112731235
copyright © 2007-2008 www.ChinaGeRen.com online services. all rights reserved. 苏ICP备05000059号