c++ STL 泛型 模板

动态多态 运行期间 面向对象
纯虚函数 强制实现

更难调试,运行更快
静态多态 编译期间 泛型
必须实现那些接口 非强制实行

份文件写注意

    template<typename T>
    class Demo
        public:
            template<typename X>
            void Assign(const X val);

    template<typename T>//注意顺序
    template<typename X>
    void Assign(const X val);

不同类型调用

Demo<int> demo_int;
Demo<double> demo_double;
demo_int.Assign(demo_double.GetVal());//使用统一接口获取,因为是两个class()
//写operator= 注意

全特化,编译时生成,是个全新的类,需要全部重写

template<typename T>
class Demo
template<>//特化int类型需要重新写
class Demo<int>

偏特化,特化一部分,其余的代码编译器还是会帮你生成

template<>
class Demo<int *>::Demo()//偏特化Demo()构造,特化一部分

模板类继承

template<typename T>
class sonDemo::public Demo<T>

模板类单例模式,当包装器
把模板类做成单利模式,里面包装的类都会变成包装器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值