c++模板与重载
模板
在C++中,模板(Templates)是一种通用的编程工具,允许编写通用的类或函数,以支持多种数据类型。模板使得编写可重用的代码变得更加容易,并提供了一种在编译时生成特定类型的代码的机制。通过模板,可以编写与数据类型无关的代码,从而提高了代码的灵活性和可重用性。
模板在C++中有两种主要形式:
- 类模板(Class Templates):类模板允许定义通用的类,其中的成员函数和成员变量可以是与模板参数无关的通用类型。通过类模板,可以创建多个具有相同行为但不同数据类型的类的实例。
- 函数模板(Function Templates):函数模板允许定义通用的函数,其中的参数类型可以是模板参数。通过函数模板,可以实现一种编写一次代码,适用于多种数据类型的函数。
在使用模板时,编译器会根据模板参数的实际类型生成相应的代码,从而实现类型特定的行为。例如,当你使用一个模板类或函数时,你需要提供实际的类型参数,以便编译器能够生成相应的代码。
模板类写法
1 | template <class T> |
模板函数的写法
1 | template <class T> |
调用函数模板
1 | int main() |
其中max的参数会隐式的指定,例如77和12会隐式指定为int
运算符重载
成员函数重载
这是其中一种写法,声明和定义都写在类里面
1 | template <class T> |
这是另一种写法,声明与定义分开
1 | template <class T> |
全局函数重载
1 | template <class T> |
调用运算符重载
1 | int main() |
结果是 30
1 | int main() |
结果是 0.3
- 标题: c++模板与重载
- 作者: Camill
- 创建于 : 2024-02-19 16:36:45
- 更新于 : 2024-02-20 11:56:15
- 链接: https://camill.love/note/cpp-1/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论