C++ 模板类实现比较功能:Compare 类详解
C++ 模板类实现比较功能:Compare 类详解
本示例代码使用 C++ 模板类 Compare 实现了一个简单的比较功能,可以对任意类型的数据进行比较并获取最大值和最小值。
代码示例:
template <typename T>
class Compare {
public:
Compare(T a, T b) : num1(a), num2(b) {}
T getMax() {
return (num1 > num2) ? num1 : num2;
}
T getMin() {
return (num1 < num2) ? num1 : num2;
}
private:
T num1;
T num2;
};
代码解释:
template <typename T>: 定义了一个模板类Compare,模板参数T表示可以接受任意类型的数据。class Compare { ... }: 定义了一个公有的类Compare。Compare(T a, T b) : num1(a), num2(b) {}: 构造函数,接受两个参数a和b,并将其分别赋值给私有成员变量num1和num2。T getMax(): 成员函数,返回两个数中的较大值。return (num1 > num2) ? num1 : num2;: 利用条件运算符判断num1和num2的大小关系,如果num1大于num2,则返回num1,否则返回num2。T getMin(): 成员函数,返回两个数中的较小值。return (num1 < num2) ? num1 : num2;: 利用条件运算符判断num1和num2的大小关系,如果num1小于num2,则返回num1,否则返回num2。private:: 定义了一个私有的区域,用于存放私有成员变量。T num1;: 私有成员变量,用于存放第一个数。T num2;: 私有成员变量,用于存放第二个数。
使用示例:
int main() {
Compare<int> compare1(10, 5); // 创建一个比较整数的 Compare 对象
cout << '最大值: ' << compare1.getMax() << endl; // 输出最大值
cout << '最小值: ' << compare1.getMin() << endl; // 输出最小值
Compare<double> compare2(3.14, 2.71); // 创建一个比较浮点数的 Compare 对象
cout << '最大值: ' << compare2.getMax() << endl; // 输出最大值
cout << '最小值: ' << compare2.getMin() << endl; // 输出最小值
return 0;
}
输出结果:
最大值: 10
最小值: 5
最大值: 3.14
最小值: 2.71
总结:
通过使用 C++ 模板类,我们可以很方便地实现对任意类型数据进行比较的功能。Compare 类提供了一个简单而实用的方法来获取两个数的最大值和最小值,可以应用于各种场景。
原文地址: https://www.cveoy.top/t/topic/qd5F 著作权归作者所有。请勿转载和采集!