描述
定义三角形类,该类有两个私有的数据成员底和高。要求重载>,<,>=,<=,!=, == 6个运算符,能比较两个三角形面积的大小。编写主函数进行测试。
输入
两个三角形的底和高
输出
按照面积从小到大的顺序输出这两个三角形的面积(保留小数点后2位数)
样例输入
1 2
3 4
样例输出
1.00
6.00
#include <iostream>
#include <iomanip>
#include <algorithm>
using namespace std;
class Triangle{
int h,w;
public:
double s;
void size(){
s=h*0.5*w;
}
void set(int hh,int ww){
h=hh;
w=ww;
}
bool operator >(Triangle);
bool operator <(Triangle);
bool operator >=(Triangle);
bool operator <=(Triangle);
bool operator !=(Triangle);
bool operator ==(Triangle);
};
bool Triangle::operator >(Triangle b){
return s>b.s;
}
bool Triangle::operator <(Triangle b){
return s<b.s;
}
bool Triangle::operator >=(Triangle b){
return s>=b.s;
}
bool Triangle::operator <=(Triangle b){
return s<=b.s;
}
bool Triangle::operator !=(Triangle b){
return s!=b.s;
}
bool Triangle::operator ==(Triangle b){
return s==b.s;
}
int main()
{
int h1,w1,h2,w2;
cin>>h1>>w1>>h2>>w2;
Triangle a,b;
a.set(h1,w1);
b.set(h2,w2);
a.size();
b.size();
if(a>b){
cout<<fixed<<setprecision(2)<<b.s<<endl;
cout<<fixed<<setprecision(2)<<a.s<<endl;
}
else{
cout<<fixed<<setprecision(2)<<a.s<<endl;
cout<<fixed<<setprecision(2)<<b.s<<endl;
}
return 0;
}