C++ 模板类实例化
时间: 2023-11-30 10:04:05 浏览: 159
C++学习之模板特例化
C++模板类实例化是指根据类模板定义创建一个具体的类,该类可以使用模板参数来定义其成员变量和成员函数。模板类实例化的语法格式为:`template class 类名<模板参数表>;`,其中`模板参数表`是用于实例化模板类的参数列表。
例如,假设我们有以下的模板类定义:
```c++
template <typename T>
class MyArray {
private:
T* data;
int size;
public:
MyArray(int s);
~MyArray();
T& operator[](int index);
};
template <typename T>
MyArray<T>::MyArray(int s) {
data = new T[s];
size = s;
}
template <typename T>
MyArray<T>::~MyArray() {
delete[] data;
}
template <typename T>
T& MyArray<T>::operator[](int index) {
return data[index];
}
```
我们可以使用以下方式来实例化该模板类:
```c++
template class MyArray<int>; // 实例化 MyArray<int>
template class MyArray<double>; // 实例化 MyArray<double>
```
在实例化模板类时,需要指定模板参数的具体类型。在上面的例子中,我们分别实例化了`MyArray<int>`和`MyArray<double>`两个具体的类。
阅读全文