template函数和template类

#include<iostream>
using namespace std;

template <typename Type> 
class Poly{
private:
        Type base;
        Type height;
public:
        Poly(Type b = 0, Type h = 0):base(b),height(h){}

        Type getArea()const{
                return base * height;
        }

        template <typename T> inline int compare(const T &t1, const T &t2){
                if(t1 < t2) return -1;
                if(t1 > t2) return 1;
                return 0;
        }
};

int main(){
        int b1 = 2, h1 = 3;
        Poly<int> p1(b1, h1);
        cout<<p1.getArea()<<endl;
        int result = p1.compare(b1, h1);
        if(result == 1) cout<<b1<<" >  "<<h1<<endl;
        else if(result == -1) cout<<b1<<" < "<<h1<<endl;
        else cout<<b1<<" == "<<h1<<endl;

        double b2 = 3.3, h2 = 2.2;
        Poly<double> p2(b2, h2);
        cout<<p2.getArea()<<endl;
        result = p2.compare(b2, h2);
        if(result == 1) cout<<b2<<" >  "<<h2<<endl;
        else if(result == -1) cout<<b2<<" < "<<h2<<endl;
        else cout<<b2<<" == "<<h2<<endl;
        return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值