重载函数的重载确定过程
来源:互联网 发布:统计联网直报平台数据 编辑:程序博客网 时间:2024/06/06 12:46
最近在找工作的过程中,发现很多平时没有注意的问题,反省之后,决定好好把基础知识过一过。
重载函数的定义:出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数。
这里有两个地方需要注意:同一个作用域,形参表不同。形参表不同的意思就是形参个数不同,或者参数类型不同。
重载确定分三步:
1.确定候选函数。即确定与调用函数相关的重载函数集合,该集合中的函数就是候选函数。候选函数与被调用函数同名,并且在调用点上,它的声明可见。举个例子。
void f();void f(int);void f(int,int);void f(double,double = 3.14);f(5.6);调用函数为f(5.6);一共有4个候选函数。
需要注意的是,在调用点上,候选函数的声明可见。举个例子。
void print(const string&);void print(double);void fooBar(int ival){void print(int); print("Value: ");print(ival);print(3.14);}在fooBar函数中,声明了函数void print(int),这导致外面的两个函数对里面调用print函数来说,都是不可见的,因此,print("Value: ");是错误的,print(3.14);是对的,因为3.14可以转换为int型。在这里,外面的两个print函数不是候选函数,因为他们对调用点来说不是可见的。
2.选择可行函数。选择可行函数必须满足两个条件:第一,函数的形参个数与该调用的实参个数相同。第二,每一个实参的类型必须与对应形参的类型匹配,或者可被隐式转换为对应的形参类型。那么对于f(5.6)来说,可行函数为
void f(int);void f(double,double = 3.14);
0 0
- 重载函数的重载确定过程
- 重载函数确定的三个步骤
- 确定重载函数被调用的依据
- 重载确定
- 函数重载解析过程
- 浅谈C++函数重载的解析过程
- 过程,函数的重载与逻辑运算
- 函数 函数的重载
- 函数-函数的重载
- 重载确定2
- 函数的重载
- 函数的重载
- 函数的重载(OVERLOAD)
- 函数重载的理解
- ActionScript3的函数重载
- 函数的重载
- 函数的重载
- 重载函数的地址
- debian(wheezy)gnome-keyring:: couldn't connect to: /home/username/.cache/keyring-XXXXXX/pkcs11
- MySQL 的唯一索引
- SpringMVC+Spring3+Hibernate Quartz定时任务调用service查询获取不到CurrentSession
- IOS APPstore发布
- 十个最火的HTML5框架与移动应用框架的比较
- 重载函数的重载确定过程
- BZOJ 2342 [Shoi2011] 双倍回文 Manacher + set维护
- myEclipse8.5 破解方法
- &引用和&取地址
- COPY innodb存储引擎索引概述
- 为啥要重写equals()和hashcode()方法
- C#中如何操作XML,对XML进行增、删、改节点
- 一道javaBean内省题
- 采购订单邮件发送预警设置