【C++】58.类模板的概念和意义

mac2025-02-09  11

C++将泛型编程的思想运用到类中

 

C++类模板

以相同的方式处理不同的类型。

类声明前使用 template进行标识。

<typename T> 用于说明类中使用泛型类型T

template <typename T> class Operator { public: T op(T a, T b); };

类模板的应用

只能显示指定具体的类型,无法自动推倒

使用具体类型<Type>定义对象

Operator<int> op1; Operator<string> op2;

 

工程实际应用对类模板的要求

#ifndef _OPERATOR_H_ #define _OPERATOR_H_ template < typename T > class Operator { public: T add(T a, T b); T minus(T a, T b); T multiply(T a, T b); T divide(T a, T b); }; template < typename T > T Operator<T>::add(T a, T b) { return a + b; } template < typename T > T Operator<T>::minus(T a, T b) { return a - b; } template < typename T > T Operator<T>::multiply(T a, T b) { return a * b; } template < typename T > T Operator<T>::divide(T a, T b) { return a / b; } #endif

小结

类模板以相同的方式处理不同的数据类型

类模板在使用时只能显示指定类型

 

最新回复(0)