1.C++可以使用同名函数[重载函数]实现功能类似的多个不同函数,C语言不支持函数重载;
2.函数名重载即函数名相同,但是, 函数的参数(形参)绝不相同:
1)参数个数不同;
2)或参数的类型不同。
3.只有返回类型不同,不能构成函数重载;只有形参变量名不同, 也不能构成函数重载.
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int add(int a, int b) {
cout << "调用add版本1" << endl;
return a + b;
}
int add(int a, int b, int c) {
cout << "调用add版本2" << endl;
return a + b + c;
}
float add(float a, float b, float c) {
cout << "调用add版本3" << endl;
return a + b + c;
}
int main() {
cout << add(3, 6) << endl;
cout << endl;
cout << add(3, 6, 9) << endl;
cout << endl;
cout << add(3.2f, 6.4f, 9.12f) << endl; //系统会默认3.2是double类型的,所以要在后面加f,使其变成float类型
system("pause");
return 0;
}
总结:函数名可以相同,但是在函数定义时,形参的个数或者形参的类型要有所不同,否则将会编译失败!