第58课.类模板的概念和意义
1.c++中的类模板 a.以相同的方式处理不同的类型 b.在类声明前使用template进行标识 c.< typename T >用于说明类中使用的泛指类型T template < typename T> class Operator { public: T op (T a, T b); }; 2.类模板的应用 a. 只能显示指定具体类型,无法自动推导 b.使用具体类型 定义对象 Operator<int> op1; Operator<string> op2; int i = op1.op(1, 2); string s = op2.op("kun", "123"); 注: a.声明的泛指类型T可以出现在类模板的任意地方 b.编译器对类模板的处理方式和函数模板相同 1).从类模板通过具体类型产生不同的类 2).在声明的地方对类模板代码本身进行编译 2).在使用的地方对参数替换后的代码进行编译 eg: #include <iostream> #include <string> using namespace std; template < typename T > class Operator { public: T add (T a, T b) { return a + b; } T minus(T a, T b) { return a - b; } T multiply(T