创建一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大者。
时间: 2024-09-18 15:04:35 浏览: 54
在C++中,我们可以创建一个通用的模板类来比较不同类型的数据,比如整数、浮点数和字符。这里是一个基础的实现:
```cpp
#include <iostream>
// 定义一个比较模板类
template <typename T>
class Comparator {
public:
// 比较并返回较大值
static T max(const T& a, const T& b) {
return (a > b) ? a : b;
}
// 比较并返回较小值
static T min(const T& a, const T& b) {
return (a < b) ? a : b;
}
};
int main() {
int int_compare = Comparator<int>::max(5, 10); // 输出10
float float_compare = Comparator<float>::max(3.14, 2.71); // 输出3.14
char char_compare = Comparator<char>::max('c', 'd'); // 输出'd'
std::cout << "Max of integers: " << int_compare << std::endl;
std::cout << "Max of floats: " << float_compare << std::endl;
std::cout << "Max of characters: " << char_compare << std::endl;
return 0;
}
```
这个`Comparator`模板类包含静态成员函数`max`和`min`,它们接受两个同类型的参数,然后返回较大的或较小的那个值。在`main`函数中,我们实例化了这个模板来比较不同类型的数据。
阅读全文