函数重载:
作用:函数名可以相同
条件:(1)同一个作用域下
(2)函数名称相同
(3)函数参数的类型不同,参数的类型不同
注意:函数的返回值和参数名不作为函数重载的条件,无法重载
#include<iostream>
using namespace std;
void f() {
cout << "调用f()" << endl;
}
void f(int a) {
cout << "调用f(int a)" << endl;
}
void f(int a, int b) {
cout << "调用f(int a, int b)" << endl;
}
void f(double a, int b) {
cout << "调用f(double a, int b)" << endl;
}
//void f(double b, int a) {
// cout << "调用f(double b, int a)" << endl;
//}错误,变量名不作为重载条件
int main() {
f();
f(10);
f(10, 10);
f(10.0, 10);
}
###############################################################
#include<iostream>
using namespace std;
void f(int &b) {
cout << "调用f(int &b)" << endl;
}
void f(const int& b) {
cout << "调用f(const int& b)" << endl;
}
int main() {
int a = 10;
//因为a是变量,所以a会被f(int &b)调用
f(a);
//因为10是常量,所以调用的是f(const int& b)
f(10);
}