zoukankan      html  css  js  c++  java
  • c++知识点总结-模板特化

    类模板的全特化与偏特化

    类模板

    template<typename T1, typename T2>
    class Test
    {
    public:
        Test(T1 i,T2 j):a(i),b(j){cout<<"模板类"<<endl;}
    private:
        T1 a;
        T2 b;
    };

    全特化

    template<>
    class Test<int , char>
    {
    public:
        Test(int i, char j):a(i),b(j){cout<<"全特化"<<endl;}
    private:
        int a;
        char b;
    };

    偏特化

    template <typename T2>
    class Test<char, T2>
    {
    public:
        Test(char i, T2 j):a(i),b(j){cout<<"偏特化"<<endl;}
    private:
        char a;
        T2 b;
    };

    在具现化时,根据最相近的模板进行实例化,即,存在特化模板时,按照特化模板实例化,如果没有,再去按照模板进行实例化

    依次调用类模板、全特化与偏特化
    Test<double , double> t1(0.1,0.2);
    Test<int , char> t2(1,'A');
    Test<char, bool> t3('A',true);
  • 相关阅读:
    MZOJ #72 数字
    MZOJ #71 maple做数学题
    MZOJ #70 FFF团
    luogu 2051 [AHOI2009]中国象棋
    uva 280
    uva 260
    文件的基本处理
    文件的基础
    Turtle库
    π的计算
  • 原文地址:https://www.cnblogs.com/tla001/p/6680634.html
Copyright © 2011-2022 走看看