重载应该叫overload,重写叫override
重载某个方法是在同一个类中发生的!
重写是在子类中重写父类中的方法。但是,为什么我常常看到别人说继承一个CStatic的子类CMyStatic,并“重载”OnPaint函数很多人都有类似这样的说发。为什么?
重载某个方法是在同一个类中发生的!
重写是在子类中重写父类中的方法。但是,为什么我常常看到别人说继承一个CStatic的子类CMyStatic,并“重载”OnPaint函数很多人都有类似这样的说发。为什么?
解决方案 »
- 如何实现可以输入的下拉框!,急!请各位大哥帮帮忙阿!
- 关于自动运行的问题?
- 请问vc下面如何读取一个bmp图片?可以将其当作一个数组去处理吗?
- 一个MFC单文档界面程序,如何为工具栏使用更多颜色的位图作近钮?
- 一个应届生的困惑,还望兄弟姐妹,路路高人指点迷津
- @@@@@@ 问个Release版本运行的问题
- 急!高分求解!如何在组件内部判断该组件的某个接口调用跨越了进程?
- 谁知道怎样才不能改变窗口的大小--不用OnSize()和设置MINMAXINFO的方法?
- 关于DAO数据库的问题,应该很简单,可是难住我好久了(分数不多,可却是我的全部家当了)
- 关于MFC数据类型问题
- ****请帮忙进来看看,谢谢!***************
- VC里有关OnTimer的问题
不是说中文不好,而是把人搞晕了,反不如就直接使用E文,反正意思大家都明白:重载就是重写,重写也就是垂载。继承一个子类,然后重载某函数,这种说法是最多见的了!!!在这里,其意思确实是重载,而不是重写!!例:
父类CParent,子类CChild
函数func()被子类重载了
定义实例
CParent parent;
CChild child;
如果child.func()调用的是新写的函数;而parent.func()则调用的是旧的函数。
而child and parent均是同一类型(CParent),你能说不是重载吗?呵呵,喜欢专N角尖的朋友
重载是overload,就是相同的函数名,但参数不一样,如平常说的某个函数有多少个overload版本就是这个意思。
不过普通的全局函数也可以override的,不一定要类成员。
说实话,俺之前还真的没有搞懂overload和override的区别呢,今天,明白了!
1 在基类和派生类之间
2 函数名字相同
如果参数类型不同的时候,有无virtual 关键字都为隐藏
如果参数类型相同,则,无virtual 关键字时为隐藏
顺便说说函数的重载与覆盖: 重载:
1 在同一个类里面
2 函数名字相同
3 函数参数不同
4 virtual 关键字有无均可
覆盖:
1 在基类和派生类之间
2 函数名字相同
3 参数类型相同
4 有virtual关键字