模板
模板提供了一种编写处理不同数据类型的通用代码方式。它允许开发者定义带有类型占位符的函数或类。使用模板后,编译器会为每种类型生成特定的代码。
模板函数
#include <iostream>
// 模板函数,用于找到两个值的最大值
template <typename T>
T findMax(T a, T b) {
return (a > b) ? a : b;
}
int main() {
// 使用不同类型的模板函数
int maxInt = findMax(3, 7);
double maxDouble = findMax(4.5, 2.1);
std::cout << "Maximum of 3 and 7: " << maxInt << std::endl;
std::cout << "Maximum of 4.5 and 2.1: " << maxDouble << std::endl;
return 0;
}
模板类
#include <iostream>
// 表示一对值的模板类
template <typename T1, typename T2>
class Pair {
public:
T1 first;
T2 second;
// 构造函数
Pair(T1 f, T2 s) : first(f), second(s) {}
};
int main() {
// 使用不同类型的模板类
Pair<int, double> myPair(3, 4.5);
std::cout << "Pair - First: " << myPair.first << ", Second: " << myPair.second << std::endl;
return 0;
}
Pair
模板类表示一对值。两个值的类型 T1
和 T2
是模板参数。使用时,两个模板参数分别与 int
和 double
类型绑定使用。
代码挑战
实现一个名为
Calculator
的模板类,支持不同数据类型的基本算术运算(加、减、乘、除)。
Loading...
> 此处输出代码运行结果