极客班 c++(下)第二周学习笔记 ——template简单分类

    xiaoxiao2025-10-23  10

    template 简单分类

    template 分为类模板(class template)、函数模板( function template )、成员模板( member template )三类。

    ①类模板 顾名思义,这是一个类(class) template<typename T> class complex { public: complex(T r = 0 , T i = 0 ) :re(r),im(i) {} complex& operator += (const complex&); T real () const {return re;} T imag() const {return im;} private: T re,im; friend complex& __doapl(complex*,const complex&); }

    其中< typename T>也吸写做< class T>,T表示类型名。 应用时

    { complex<double> c1(1.1,2.2); complex<int> c2(1,2); } ②函数模板 这是一个函数 template<class T> inline const T& min(const T&a,const T&b) { return b<a?b:a; } 调用过程如上,实际应用时T类中要有对 operator<(T,T) ③成员模板 本身是一个模板,而它又是类中的一个成员,如下图中黄色部分 应用时 { class A{}; class B{}; class Aa:public A{}; class Bb:public B{}; pair<Aa,Bb> c1; pair<A,B> c(c1); }
    转载请注明原文地址: https://ju.6miu.com/read-1303438.html
    最新回复(0)