c++类中的模板函数怎么写,在类的内部,给出示例
时间: 2024-02-12 17:05:28 浏览: 80
C++ DLL 导出类 示例
在C++类中定义模板函数,需要在函数名前加上`template<typename T>`,其中`T`是模板类型参数,可以是任何合法的类型,如下所示:
```cpp
class MyClass {
public:
template<typename T>
void print(const T& value) {
std::cout << value << std::endl;
}
};
```
上面的代码定义了一个名为`print`的模板函数,它接受一个常引用类型的参数`value`,在函数体内部输出该参数的值。注意,模板函数的实现通常需要写在类的头文件中,否则编译器可能无法找到函数的实现。
使用模板函数时,需要在函数名后面加上模板类型参数,如下所示:
```cpp
MyClass obj;
obj.print(123); // 调用print<int>(123),输出123
obj.print("hello"); // 调用print<const char*>("hello"),输出hello
obj.print(3.14f); // 调用print<float>(3.14f),输出3.14
```
上面的代码创建了一个`MyClass`的对象`obj`,并分别调用了三次`print`函数,分别输出了整数、字符串和浮点数。由于`print`是一个模板函数,编译器会根据实参的类型自动推导出模板类型参数`T`的类型,从而实例化出对应的函数。
阅读全文