c++模板方法和类

先看下方法模板:

#include <iostream>
#include "ClassTemplate.h"
using namespace std;
template <typename T> T minxxx(T x,T y){
    return (x<y)?x:y;
}
int main() {
    std::cout << "Hello, World!" << std::endl;
    int n1=2,n2=10;
    double d1=1.5,d2=5.6;
    cout<< "较小整数:"<<minxxx(n1,n2)<<endl;
    cout<< "较小实数:"<<minxxx(d1,d2)<<endl;
    return 0;
}

类模型:

ClassTemplate.h
#ifndef CPPPROJECT_CLASSTEMPLATE_H
#define CPPPROJECT_CLASSTEMPLATE_H

template <typename T1,typename T2>
class myClass{
    private:
        T1 I;
        T2 J;
    public:
        myClass(T1 a,T2 b);
        void show();

};


template <typename  T1,typename  T2> myClass<T1,T2>::myClass(T1 a, T2 b):I(a),J(b) {}

template <typename T1,typename T2>
void myClass<T1,T2>::show() {
    std::cout<<"I="<<I<<", J="<< J << std::endl;
};

#endif


main.cpp

int main() {
    std::cout << "Hello, World!" << std::endl;
    int n1=2,n2=10;
    double d1=1.5,d2=5.6;
    myClass<int,int> class1(3,5);
    class1.show();
    myClass<int,char> class2(3,'a');
    class2.show();
    myClass<double,int> class3(2.9,10);
    class3.show();

    return 0;
}

猜你喜欢

转载自blog.csdn.net/luoyexuge/article/details/80316376