大家在用MFC时,重载一个虚拟函数后,有必要还调用父类的函数吗? 比如我的CMyWnd::OnLButtonDown里面是否有必要调用CWnd::OnLButtonDown呢?我把他注释掉也一样能用啊,那是不是不调用可以节省程序的处理时间呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得没必要,只要你的实现正确就行.================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] 好像不是重载吧,这种情况好像是overwrite应该调用的,因为父类把一些共同的东西集中起来。这种virtual function也是,所以可以说必须要调用的虽然你举的这个例子可以。 虚函数有具体实现么?不是只提供一个接口而要靠其子类来实现么?================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] first , onlbuttondown is not a virtual function , though it act as a virtual function.second , it depends on your requirement , but i think u should callit in most cases . although there some except situations , such as cframewnd::Oncreateclient . 是否有必要调用CWnd::OnLButtonDow中作了什么处理,你知道吗,去掉注释你就发现了,在你不了解父类函数做了什么的时候,先自己试试 调用基类函数,只是想让你的程序功能跟完善。如果你在函数里处理的很全面,很正确,也就不用调用基类的函数。 举例:void CDlg::OnLButtonDown(UINT nFlags, CPoint point) {}通常我们自己只处理自己想要的功能,但就nFlags参数来说却有很多情况,系统调用基类,也就是想处理这些情况。当然要不要调用,程序员完全可以自己决定 其实上面有一个仁兄用英文回答的挺好的,首先CWnd::OnLButtonDown不是虚函数看看他的声明:afx_msg void OnLButtonDown( UINT nFlags, CPoint point ); afx_msg为站位符,其次两个类虽然有同名函数(即使类有派生关系)也不能称其为重载,因为不在同一个域中,还有最好调用基类的处理函数,你应该好好看看侯捷的深入浅出MFC,MFC最经典的实现就是用非虚函数实现了虚函数多态的特性。 书中没有介绍的一个问题 初学,请教用VC怎么做一个驱动程序,需要哪几步? 问一个简单的问题,如何用SDK画一个背景为某颜色的矩形。最好有一个简单的源码,入门一下。 DllMain()调用问题 一个生成窗口的问题:如何生成并列的两个窗口 菜鸟问题:如何让对话框程序当开机时自动运行? 关于服务的一些疑惑 菜鸟关于MFC的问题 如何定位“module not found”的原因? 如何在列表框实现画椭圆? 读取网卡号编译时出现问题?(新手,希望大家赐教) 推荐几本SDK的书吧
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
所以可以说必须要调用的虽然你举的这个例子可以。
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
a virtual function.
second , it depends on your requirement , but i think u should call
it in most cases . although there some except situations , such as
cframewnd::Oncreateclient .
很正确,也就不用调用基类的函数。
举例:
void CDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
}
通常我们自己只处理自己想要的功能,但就nFlags参数来说却有很多情况,
系统调用基类,也就是想处理这些情况。当然要不要调用,程序员完全可以
自己决定
看看他的声明:afx_msg void OnLButtonDown( UINT nFlags, CPoint point ); afx_msg为站位符,其次两个类虽然有同名函数(即使类有派生关系)也不能称其为重载,因为不在同一个域中,还有最好调用基类的处理函数,你应该好好看看侯捷的深入浅出MFC,MFC最经典的实现就是用非虚函数实现了虚函数多态的特性。