C++函数重载-C++论坛-编程-云港网络

C++函数重载

函数重载

函数重载构成条件

函数重载是C++允许在同一个作用域中声明几个名字相同功能相似的函数,函数重载常被用于处理功能类似、数据类型不同的问题。
高级语言在设计时就有一条原则,语言不能存在二义性,C++为了保证语言不存在二义性对函数重载进行约束:
要构成重载函数必须满足以下几个条件之一:

  1. 形参类型不同
  2. 形参个数不同
  3. 形参顺序不同

通过代码实现一个重载函数,以下代码位于三个文件:
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");
}

以上函数构成重载。上面函数构成重载满足了函数形参顺序不同的规则。运行结果为:
image-20220102142053935

从程序运行结果来看,我们不需要指定函数来运行,程序本身根据所传实参类型来联系实际场景判断用哪个函数,这种方式极大的方便程序员。

请登录后发表评论

    没有回复内容