关于函数重载的理解

函数重载的定义:

        两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。

重载函数的形参定义时注意事项:

  1. 个数不同
  2. 类型不同
  3. 不以形参名来区分函数
  4. 不以返回值来区分函数

1,形参个数不同

int add(int x, int y);
int add(int x, int y, int z);

2,形参类型不同

int add(int x, int y);
int add(float x, float y);

3,不能以形参名来区分函数(形参只是可以看作虚拟的,是根据传入值赋值的,不能分辨是哪一个)

int add(int x, int y);
int add(int a, int b);

4,不能以返回值来区分函数(实参传入时,与返回值无关,所以,不能以返回值确定)

int add(int x, int y);
float add(int x, int y);

例题

求两整数和两实数的平方和

(此时可以运用重载,一个定义为整型,一个实数型)

#include<iostream>
using namespace std;

int add(int a, int b)      //整型
{
	return a + b;
}

double add(double a, double b)     //实数型
{
	return a + b;
}

int main()
{
	int m, n;
	cin >> m >> n;
	cout << "m + n = " << add(m, n) << endl;

	double mm, nn;
	cin >> mm >> nn;
	cout << "mm + nn = " << add(mm, nn) << endl;
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/qq_46423166/article/details/106594280
今日推荐