template类模板
时间: 2024-06-16 18:03:03 浏览: 89
模板类是C++中的一种特殊类,它可以根据不同的数据类型生成不同的类。通过使用模板类,我们可以编写通用的代码,以适应多种数据类型的需求。
在C++中,模板类的定义以关键字"template"开始,后面跟着模板参数列表。模板参数可以是类型参数、非类型参数或模板参数。类型参数用于指定要使用的数据类型,非类型参数用于指定常量值,而模板参数则用于指定其他模板。
下面是一个简单的模板类示例:
```
template <typename T>
class MyTemplate {
private:
T data;
public:
MyTemplate(T value) : data(value) {}
T getData() { return data; }
};
```
在上面的示例中,`MyTemplate`是一个模板类,它有一个类型参数`T`。类中的成员变量`data`的类型是`T`,构造函数和成员函数也可以使用`T`作为参数类型或返回类型。
使用模板类时,我们需要在实例化时指定具体的数据类型。例如:
```
MyTemplate<int> myInt(10);
int value = myInt.getData(); // 获取整数类型的数据
MyTemplate<std::string> myString("Hello");
std::string str = myString.getData(); // 获取字符串类型的数据
```
通过实例化模板类,我们可以创建不同类型的对象,并使用相应类型的成员函数和变量。
阅读全文