c++类模版
时间: 2023-07-04 15:11:41 浏览: 318
C++类模板是一种通用的类定义,可以用于创建具有相同结构但可以使用不同数据类型的类。C++类模板是使用模板参数定义的,该参数可以用于定义函数、类等。模板参数可以是类型、值或模板本身。
下面是一个简单的C++类模板示例,它定义了一个用于存储任何数据类型的堆栈类:
```
template <class T>
class Stack {
private:
T *stackArray; // 指向堆栈的指针
int stackSize; // 堆栈的大小
int top; // 栈顶元素的位置
public:
Stack(int size) {
stackSize = size;
stackArray = new T[size];
top = -1;
}
~Stack() {
delete[] stackArray;
}
void push(T value) {
if (top == stackSize - 1) {
throw "Stack is full!";
}
top++;
stackArray[top] = value;
}
T pop() {
if (top == -1) {
throw "Stack is empty!";
}
T value = stackArray[top];
top--;
return value;
}
};
```
在这个例子中,我们使用了类模板参数 `T`,这个参数可以用于定义 `stackArray` 数组的数据类型。我们还使用了 `new` 运算符来在堆上分配内存,并使用 `delete` 运算符来释放分配的内存。最后,我们定义了两个成员函数 `push()` 和 `pop()` 来向栈中添加和删除元素。
使用这个类模板非常简单,只需在定义堆栈对象时指定数据类型即可,例如:
```
Stack<int> intStack(10); // 创建一个可以存储整数的堆栈
Stack<double> doubleStack(5); // 创建一个可以存储双精度浮点数的堆栈
```
阅读全文