C++ 函数模板 和 类模板的使用

class A
{
public:
    template<class T>
    void testVector(std::vector<T>& values)
    {
        for(int i = 0; i < values.size(); i++)
        {
               std::cout<<values[i]<<std::endl;
        }
    }
};

template<class T>
class B
{
public:
    B(){ std::cout<< "B"<<std::endl;}
    B(T a) {std::cout<<"B(int a)"<<std::endl;}
};

template<class T>
class C: public B<T>
{
public:
    C(){std::cout<<"C"<<std::endl;}
    C(T a, T b){std::cout<<"C(int a, int b)"<<std::endl;}

};


int main()
{
    A a;
    std::vector<double> dValues;
    dValues.push_back(1.1);
    dValues.push_back(2.1);
    dValues.push_back(3.1);
    dValues.push_back(4.1);
    dValues.push_back(5.1);

    a.testVector(dValues);

    std::vector<int> iValues;
    iValues.push_back(11);
    iValues.push_back(21);
    iValues.push_back(31);
    iValues.push_back(41);
    iValues.push_back(51);

    a.testVector(iValues);


    B<int> b(1);
    C<int> c(1,2);

    cout << "Hello World!" << endl;
    return 0;
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。