#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;
}template函数和template类
最新推荐文章于 2022-03-04 12:50:13 发布
本文展示了一个使用C++模板实现的多边形类Poly,该类能够计算不同类型的多边形面积,并通过一个泛型比较函数来比较两个不同类型变量的大小。文中包含了对模板类的定义和使用示例,以及泛型比较函数的具体实现。
927

被折叠的 条评论
为什么被折叠?



