函数重载

函数名相同,形参不同(包括类型和个数,参数名不算)的函数,称为重载函数。

#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));
}
posted @ 2026-01-26 13:45  飞花阁  阅读(0)  评论(0)    收藏  举报
//雪花飘落效果