泛型编程
泛型编程
编程范式:
- 面向过程编程
- 面向对象编程
- 泛型编程
泛型编程是区别于面向过程、面向对象的编程范式
目的
编写能够适合多种数据类型的代码,而不是为每种特定的数据类型编写重复的代码
C++中,模板是实现泛型的主要方式
模板分为两种:
-
函数模板
创建通用函数的模板
示例:
template <typename T>//T可替换成不同类型,包括自定义类型 void swap(T&a, T& b){ T temp = a; a = b; b = temp; } -
类模板
创建通用类的模板
示例:
template<class T>//T可替换成不同类型,包括自定义类型 class DynamicArray{ private: T* elements; int size; public: DynamicArray(int n) : size(n){ elements = new T[size]; } ~DynamicArray() { delete[] elements; } T& operator[](int index){ return elements[index]; } };
优点
1. 代码复用性高,相同的代码逻辑,可以应用于多种数据类型
2. 类型安全,编译时会进行类型检查
浙公网安备 33010602011771号