避免对派生的非虚函数进行重定义
来源:互联网 发布:linux hadoop1.2.1安装 编辑:程序博客网 时间:2024/05/18 21:38
class Foo{public: void Print() { printf("Foo\n"); };};class Animal:public Foo{public: void Print() { printf("Animal\n"); };};int main(){ Animal *an = new Animal(); Animal *p; Foo *foo; foo = an; p = an; foo->Print(); //vs断点,alt+8查看地址 p->Print(); //vs断点,查看地址两个地址不一样,不是虚函数,指针类型决定调用哪个函数 _getch(); return 0;}只有虚函数才适合重载,派生类重载非虚函数时,如果使用基类指针调用重载方法会产生混淆。换句话说,需要重载的方法,都是是虚方法。
- 避免对派生的非虚函数进行重定义
- 避免对派生的非虚函数进行重定义
- 避免在派生类中重新定义基类的非虚函数
- 避免对函数中继承得来的默认参数值进行重定义
- 继承与派生4:派生类中对基类成员的重定义
- Effective C++ 第二版 37)不要重定义非虚函数 38)不要重定义缺省参数值 39)避免向下转换
- Item 36 非虚拟的成员函数不能重定义
- C++箴言:绝不重定义继承的非虚拟函数
- 避免头文件的重定义
- inline 内联函数可以避免函数重定义问题
- 避免重定义
- C++ 派生类虚函数定义---注意事项
- 在头文件中用宏定义来避免重复包含,仍然会出现函数重定义的错误
- 在头文件中用宏定义来避免重复包含,仍然会出现函数重定义的错误
- 父类中调用自身定义的虚函数,其中若修改派生类定义的变量,无效
- 派生类中重新定义虚函数及虚函数的注意事项
- 基类期望派生类继承的函数不能定义为虚函数
- C++父类定义虚函数其派生类的同名函数使用virtual关键字吗?
- IE6 PNG透明终极解决方案
- 编译src目录下的源文件,然后放在compile文件夹下
- 由泛型到切面编程
- vb6: dim rs As New ADODB.Recordset 用户定义类型未定义
- sqlserver2008数据库优化常用脚本
- 避免对派生的非虚函数进行重定义
- Android Activity生命周期理解
- cocoa 绘图
- 最牛2012移动互联网预测调查报告
- 编写程序,拷贝一个带内容的文件夹
- C#的Lambda表达式
- C语言关键字auto、static、register、const、volatile、extern
- 在 drupal 下安装 FCKeditor 详解
- [非原创] 哈夫曼(Huffman )编码