泛型编程
编程范式:
- 面向过程编程
- 面向对象编程
- 泛型编程
泛型编程是区别于面向过程、面向对象的编程范式
目的
编写能够适合多种数据类型的代码,而不是为每种特定的数据类型编写重复的代码
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. 类型安全,编译时会进行类型检查