在C++中template<class T>实例化举例
时间: 2024-10-19 19:09:44 浏览: 16
C++模板学习\模板的概念\函数模板的写法
在C++中,模板是一种泛型编程工具,它允许你编写一次通用的函数或类,可以适应多种数据类型。`template<class T>`表示模板参数T,T可以是任何数据类型。下面是一个简单的模板类和函数的例子:
**模板类Example:**
```cpp
template <class T>
class Vector {
public:
// 定义一个元素列表,每个元素都是T类型
std::vector<T> elements;
// 模板方法添加元素
void addElement(T value) {
elements.push_back(value);
}
};
// 实例化模板类为整数类型(int)
Vector<int> intVector;
intVector.addElement(5); // 此时addElement方法适用于int
// 实例化模板类为字符串类型(std::string)
Vector<std::string> strVector;
strVector.addElement("Hello"); // 此时addElement方法适用于std::string
```
**模板函数Example:**
```cpp
template <class T>
T max(const T& a, const T& b) {
return a > b ? a : b;
}
// 使用模板函数计算两个整数的最大值
int num1 = 10, num2 = 20;
auto maxNum = max(num1, num2); // 结果为20
// 同样,用于两个字符串
std::string str1 = "apple", str2 = "banana";
auto longestStr = max(str1, str2); // 结果为"banana"
```
阅读全文