函数重载
函数重载构成条件
函数重载是C++允许在同一个作用域中声明几个名字相同功能相似的函数,函数重载常被用于处理功能类似、数据类型不同的问题。
高级语言在设计时就有一条原则,语言不能存在二义性,C++为了保证语言不存在二义性对函数重载进行约束:
要构成重载函数必须满足以下几个条件之一:
- 形参类型不同
- 形参个数不同
- 形参顺序不同
通过代码实现一个重载函数,以下代码位于三个文件:
test.cpp
#include"func.h"
int main()
{
f(1, 1.1);
return 0;
}
func.h
#include<stdio.h>
#include<stdlib.h>
void f(int a, float b);
void f(float a, int b);
func.cpp
#include"func.h"
void f(int a, float b)
{
printf("f(int a, float b)\n");
}
void f(float a, int b)
{
printf("f(float a, int b)\n");
}
以上函数构成重载。上面函数构成重载满足了函数形参顺序不同的规则。运行结果为:
从程序运行结果来看,我们不需要指定函数来运行,程序本身根据所传实参类型来联系实际场景判断用哪个函数,这种方式极大的方便程序员。
没有回复内容