函数重载
函数名相同,形参不同(包括类型和个数,参数名不算)的函数,称为重载函数。
#include <iostream>
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
printf("%.2f", add(5.2, 9.2));
}
采用模板类型进行重载,所有参数与返回值均为统一类型。
#include <iostream>
template <typename T>
T add(T a, T b) { return a + b; }
int main() {
printf("%d", add(5, 9));
}
采用模板类型进行重载,参数 a 与返回值是统一类型。
#include <iostream>
template <typename T1, typename T2>
T1 add(T1 a, T2 b) { return a + b; }
int main() {
printf("%d %d %.2f", add(5, 9), add(3, 9.3), add(3.3, 9.2));
}
// 输出:14 12 12.50
到了 auto 出场,一切都得靠边
#include <iostream>
auto add(auto a, auto b) { return a + b; }
int main() {
printf("%d %.2f", add(5, 9), add(5.3, 9.2));
}

浙公网安备 33010602011771号