【三角形_运算符重载】
描述
定义三角形类,该类有两个私有的数据成员底和高。要求重载>,<,>=,<=,!=, == 6个运算符,能比较两个三角形面积的大小。编写主函数进行测试。
输入
两个三角形的底和高
输出
按照面积从小到大的顺序输出这两个三角形的面积(保留小数点后2位数)
样例输入
1 2
3 4
样例输出
1
6.00
#include<iostream>
#include<iomanip>
using namespace std;
class tri
{
private:
double d,h;
public:
double s;
tri(double dd,double hh)
{
d=dd;h=hh;
}
double area(double dd,double hh)
{
s=(d*h)/2;
return s;
}
bool operator >(const tri&t)
{
if(s>t.s) return true;
else return false;
}
bool operator < (const tri&t)
{
if(s<t.s) return true;
else return false;
}
bool operator <= (const tri&t)
{
if(s<=t.s) return true;
else return false;
}
bool operator >= (const tri&t)
{
if(s>=t.s) return true;
else return false;
}
bool operator == (const tri&t)
{
if(s==t.s) return true;
else return false;
}
bool operator != (const tri&t)
{
if(s!=t.s) return true;
else return false;
}
};
int main()
{
double d1,d2,h1,h2;
cin>>d1>>h1>>d2>>h2;
tri T1(d1,h1);
T1.area(d1,h1);
tri T2(d2,h2);
T2.area(d2,h2);
if(T1.s<T2.s)
{
cout<<fixed<<setprecision(2)<<T1.s<<endl;
cout<<fixed<<setprecision(2)<<T2.s<<endl;
}
if(T1.s>T2.s)
{
cout<<fixed<<setprecision(2)<<T2.s<<endl;
cout<<fixed<<setprecision(2)<<T1.s<<endl;
}
}
【整数类_运算符重载】
描述
在前面定义的整数类的基础上,重载+,-,*,/,支持数类型的相关运算(整数相除的结果依然是整数 )
输入
两个整数
输出
输出两个整数
和
差
乘积
整除
的值
样例输入
4 2
样例输出
6
2
8
2
#include<iostream>
#include<iomanip>
using namespace std;
class integer
{
private:
int x1,x2;
public:
int y;
integer(int xx1=0,int xx2=0)
{
x1=xx1;x2=xx2;
}
friend integer operator + (const integer&i1);
friend integer operator - (const integer&i1);
friend integer operator / (const integer&i1,const integer&i2);
friend integer operator * (const integer&i1);
};
integer operator + (const integer&i1)
{
return i1.x1+i1.x2;
}
integer operator - (const integer&i1)
{
return i1.x1-i1.x2;
}
integer operator * (const integer&i1)
{
return i1.x1*i1.x2;
}
integer operator / (const integer&i1,const integer&i2)
{
return i1.x1/i1.x2;
}
int main()
{
int x1,x2;
cin>>x1>>x2;
integer(x1,x2);
cout<<(x1+x2)<<endl;
cout<<(x1-x2)<<endl;
cout<<(x1*x2)<<endl;
cout<<(x1/x2)<<endl;
}