搜索
首页 电脑/网络 软件

VC++6.0 一个简单的问题,谁能帮我解决一下,谢

classct ::oncancel()//{.....cdialog::oncancel();//我就不明白了,这里怎么能调用基类的函数呢,//不是被派生类覆盖了吗!}谢谢,帮忙

全部回答

2006-07-25

0 0
     我谈谈我的理解吧: 它的确是被覆盖了,但是在只是在派生类的自身的访问中,而你的访问是: cdialog::oncancel(); 表明访问的对象不是本身的oncancel();函数。
  而是其父类中的这个函数。 在函数外部的实现部分其一般处于公有状态,其父类的函数在实现部分中被它所调用。    (这是多态的一种表现,这也是C和C++之间一个很大的区别所在) 还有一个很特殊的继承就是虚继承了,要通过一个指针作为接口访问其派生类中的同名成员,这是C++中的一种动态多态。
   至于很多的为什么,那就没有那么简单了。如果要说的话,这是编写编译器的时候所决定的了。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报