函数重载(函数多态)
来源:互联网 发布:数据安全应急预案 编辑:程序博客网 时间:2024/05/16 15:53
函数的默认参数可以令我们使用具有不同参数数目的同一个函数,而函数多态可以令我们使用多个相同名称的函数。多态指的是多种形式,函数多态允许函数具有多种形式。c++使用上下文来确定使用的重载函数版本。
函数重载
1. c++允许定义名称相同的函数,前提是他们的特征标不同,即参数数目或参数类型不同。 例如,定义一组原型如下的函数:
void print(const char * str , int width);void print(double d , int width);void print(long l , int width);void print(int i , int width);void print(const char * str);
2. 使用被重载的函数时,需要在函数调用中使用正确的参数类型。例如,下面的语句:
unsigned int year=3210;print(year,6);
调用时,没有与print函数匹配的函数原型,但是c++将会尝试使用强制类型转换强制进行匹配。但是上述print函数有三个可以强制转换的目标函数,所以c++将拒绝这种函数调用,视为错误。
3. 一些看起来形式不同,但是实质相同的特征标也是不能共存的。 例如,下面的代码:
double cube(doube x);double cube(double & y);
编译器在检查函数特征标时,将类型引用和类型本身视为同一个特征标。
4. 是特征标,而不是函数返回值类型使得可以对函数进行重载。
比如,下面的语句:
long cube(doube x);double cube(double x); //invalid
c++不允许此种情况出现,函数返回类型可以不同,但是特征标必须不同。
阅读全文
0 0
- 函数重载(函数多态)
- 函数重载(读书笔记)
- Java--函数(重载)
- 重载、覆盖、多态与函数隐藏(转贴,值得一看)
- 重载、覆盖、多态与函数隐藏(转贴,值得一看)
- 多态的实现(重载、虚函数、抽象类)
- 用C实现多态(重载与虚函数)
- 函数的多态、重载、覆盖与隐藏(总结)
- 重载、覆盖、多态与函数隐藏(屏蔽 )
- 重载、覆盖、多态与函数隐藏(转贴,值得一看)
- 重载、覆盖、多态与函数隐藏
- 重载、覆盖、多态与函数隐藏
- 重载、覆盖、多态与函数隐藏
- 成员函数的多态,重载,隐藏
- 函数重载
- 重载函数
- 函数重载
- 函数重载
- Unity 自定义字体消除警告版~
- 4.11创建和管理有模式对话框
- Java 集合系列02之 Collection架构
- spring batch
- Android UI 优化——使用HierarchyViewer工具
- 函数重载(函数多态)
- xxx不在sudoers文件中,此事将被报告(一个反面解决方案)
- android监听程序安装、卸载
- 利用JDBC批量处理语句
- LeetCode-101. Symmetric Tree(Java)
- Springboot 之 解决IDEA读取properties配置文件的中文乱码问题
- idea maven项目日志配置
- To Add or Not to Add CodeForces
- 2017.7.14. 真 · 高精度