重载运算符
程序员文章站
2022-06-07 15:15:29
...
这个题目要用到面向对象的知识了。注意要掌握类的数据成员的定义,成员函数的定义,有(无)参构造函数的使用。
此题目的代码如下:
#include<iostream>
#include<cmath>//数学函数
#include<iomanip>//用于格式控制
using namespace std;
#define PI 3.1415926 //定义PI的值
class Angle{//类的定义
public:
double degree;//属性
Angle(){} //构造函数
Angle(double de){//构造函数
degree=de;
}
Angle operator-(const Angle&a)//运算符重载
{
Angle a1;
a1.degree=degree-a.degree;
return a1;
}
};
int main()
{
int m;
cin>>m;
double d1,d2,result;//
while(m--)
{
cin>>d1>>d2;//输入角度
Angle angle1(d1),angle2(d2);//两个对象
Angle angle0=angle1-angle2;//重载运算符函数在此的应用
result=sin(angle0.degree*PI/180);//角度转换为弧度
cout<<fixed<<setprecision(2)<<result<<endl;//控制输出
}
return 0;
}
上一篇: PAT基础编程题目-6-11 求自定类型元素序列的中位数
下一篇: 一元二次方程