c++ 模板
时间: 2023-06-28 11:13:31 浏览: 57
C++ 中的模板是一种通用的编程工具,它使得我们可以编写不特定于特定数据类型的代码。C++ 中有两种类型的模板:函数模板和类模板。
函数模板的语法如下:
```c++
template <typename T>
T Max(T x, T y) {
return (x > y) ? x : y;
}
```
在上面的代码中,`Max` 是一个函数模板,它接受两个同类型的参数 `x` 和 `y`,并返回它们中较大的一个。在函数的声明中,我们使用 `typename` 关键字来表示类型参数 `T`。
类模板的语法如下:
```c++
template <typename T>
class Stack {
public:
void push(T val);
T pop();
private:
T data[100];
int top;
};
template <typename T>
void Stack<T>::push(T val) {
data[top++] = val;
}
template <typename T>
T Stack<T>::pop() {
return data[--top];
}
```
在上面的代码中,`Stack` 是一个类模板,它是一个通用的栈实现。在类的定义中,我们使用 `typename` 关键字来表示类型参数 `T`。在类中,我们可以使用 `T` 代替实际的类型。在类的成员函数的定义中,我们需要在函数名前加上 `Stack<T>::`,以表示这个函数是属于一个特定的模板实例的。