c++,类的继承与多态问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:36:25
用c++编程,利用计算符的重载来实现分数的加法。

这是头文件,分母为0的情况我没有抛出异常,你可以自己加:
#ifndef FRACTION_H
#define FRACTION_H

#include <iostream>

class Fraction {
public:
Fraction():numerator(0), denominator(1) { }
Fraction(int num, int den):numerator(num), denominator(den) { }
void print();

friend Fraction operator + (const Fraction&, const Fraction&);
friend int greatest_common_divisor(int, int);
private:
int numerator;
int denominator;
void simplify();
};

void Fraction::simplify()
{
int gcd = greatest_common_divisor(numerator, denominator);
if (gcd != 1) {
numerator /= gcd;
denominator /= gcd;
}
}

void Fraction::print()
{
if (denominator == 1)
std::cout << numerator << std::endl;
else
std::cout << numerator << &