类的同名覆盖和函数重载
来源:互联网 发布:广元历史湿度数据查询 编辑:程序博客网 时间:2024/05/16 18:39
有下列代码:
#include <iostream>using namespace std;struct Base{void foo (int){};};struct Derived: public Base{void foo(string){};};void main(){Derived d; d.foo(1024);}
这是《C++ primer》题15.23的一个减缩验证程序。
虽然,类继承中会发生覆盖,这个规则我知道,但是却没有注意,这个覆盖指的的是
“同名覆盖”,即只要函数名(也包括数据成员名)相同,就发生覆盖行为。这也就是说基类和子类的函数不存在重载现象。
上述代码中,虽然子类Drived继承了基类的int参数型foo函数,自己又有string参数型foo函数,这不算函数重载,这里发生的是“同名覆盖”。
记得应该有这么个结论:“函数重载只发生在一个类内部,同名覆盖只发生在基类子类之间”。这个结论足以解释这个现象。
- 类的同名覆盖和函数重载
- C++ 同名隐藏、覆盖,虚函数 的详解和对比
- 函数重载和函数覆盖的区别
- 基类和派生类之间的同名函数,存在重载吗?
- 类成员函数的重载、覆盖和隐藏的区别
- 类成员函数的重载、覆盖和隐藏的区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、重写、和覆盖区别
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载、覆盖和隐藏区别
- AndroidManifest.xml文件解析
- 软件测试新人如何得到测试工作
- iTunes登录出现无法连接-50等错误的解决办法
- 【学习】C++(2)指针的引用
- 学习Linux驱动的一点笔记
- 类的同名覆盖和函数重载
- Java读取excel文件生成xml文档和JSON文档
- [JAVA]文件操作--文件重命名
- 32位Ubuntu 12.04 安装Oracle 11g问题记录
- UIViewController没有随着设备一起旋转的原因
- 在apache禁止 http OPTIONS方法. apache disable http OPTIONS method
- android-ndk-r8e/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''.
- 工资条
- Android游戏开发资源