C++ 泛型编程,函数模板和类模板
帮助中心
C++ 泛型编程,函数模板和类模板
2023-11-29 08:00
本文章介绍了C++泛型编程中的函数模板和类模板的基本概念和用法。
函数模板
函数模板是一种通用的函数定义,可以用于多种数据类型。通过使用模板参数,我们可以编写一次函数,然后根据不同的参数类型生成多个特定类型的函数。
例如,下面是一个简单的函数模板,用于计算两个数的最大值:
template
T Max(T a, T b) { return (a > b) ? a : b; } 我们可以使用这个函数模板来比较不同类型的数据,例如:
int intMax = Max(3, 7); // 使用整数参数 double doubleMax = Max(3.14, 7.68); // 使用双精度浮点数参数
类模板
类模板允许我们定义通用的类,可以在实例化时使用不同的数据类型。类模板的语法与函数模板类似,只是在类的定义之前加上template关键字和模板参数。
例如,下面是一个类模板,用于表示二维向量:
template
class Vector2D { private: T x; T y; public: Vector2D(T xVal, T yVal) : x(xVal), y(yVal) {} T getX() { return x; } T getY() { return y; } }; 我们可以使用这个类模板来创建不同类型的二维向量对象,例如:
Vector2D
intVector(3, 4); // 使用整数类型创建向量对象 Vector2D doubleVector(1.5, 2.8); // 使用双精度浮点数类型创建向量对象 总结
通过使用函数模板和类模板,我们可以编写通用的代码,适用于多种数据类型。这种泛型编程的特性使得C++具有更高的代码复用性和可扩展性。
标签:
- C++
- 泛型编程
- 函数模板
- 类模板