» C++快速入门 » 2. 高级篇 » 2.1 模板

模板

模板提供了一种编写处理不同数据类型的通用代码方式。它允许开发者定义带有类型占位符的函数或类。使用模板后,编译器会为每种类型生成特定的代码。

模板函数

#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 模板类表示一对值。两个值的类型 T1T2 是模板参数。使用时,两个模板参数分别与 intdouble 类型绑定使用。

代码挑战

实现一个名为 Calculator 的模板类,支持不同数据类型的基本算术运算(加、减、乘、除)。

Loading...
> 此处输出代码运行结果
上页
下页