已定义分数类,通过成员函数完成==的运算符重载。使得可以分数1==分数2的判断。
函数接口定义:
class Fraction //分数
{
private:
int num = 0; //分子
int den = 1; //分母
public:
//构造函数
Fraction() {}
Fraction(int num, int den);
//打印分数
void PrintFraction() const;
//约分
Fraction Reduct();
};
类的成员函数均已定义。
裁判测试程序样例:
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
class Fraction //分数
{
private:
int num = 0; //分子
int den = 1; //分母
public:
//构造函数
Fraction() {}
Fraction(int num, int den);
//打印分数
void PrintFraction() const;
//约分
Fraction Reduct();
/* 请在这里填写答案 */
};
//成员函数均已定义,代码略
int main()
{
int n1,n2,n3,n4;
char c;
cin>>n1>>c>>n2>>n3>>c>>n4;
Fraction f1(n1,n2),f2(n3,n4);
if(f1==f2) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return 0;
}
输入样例1:
1/2 1/2
输出样例1:
YES
输入样例2:
1/2 1/3
输出样例2:
NO
bool operator==(const Fraction& other) //接受一个 const Fraction& 类型的参数 other,表示另一个分数。
{
return num * other.den== other.num * den ;
}