21xrx.com
2024-12-22 21:32:27 Sunday
登录
文章检索 我的文章 写文章
C++ 分数类
2023-07-02 06:36:25 深夜i     --     --
C++语言 分数类 浮点数 运算符 成员函数

C++ 分数类是一种数据类型,它可以用来表示分数(即有理数),包括分子和分母两个部分。在程序设计中,分数类可以用来进行分数的运算,包括加、减、乘、除等操作,在很多场合中都有着重要的应用。

在C++中,我们可以通过定义一个类来实现分数类型的表示和运算。下面是一个简单的C++分数类的示例代码:


class Fraction {

public:

  Fraction(int num, int den) : numerator(num), denominator(den) {}

  int numerator;  // 分子

  int denominator; // 分母

};

// 分数加法

Fraction operator+(Fraction a, Fraction b) {

  int num = a.numerator * b.denominator + a.denominator * b.numerator;

  int den = a.denominator * b.denominator;

  return Fraction(num, den);

}

// 分数减法

Fraction operator-(Fraction a, Fraction b) {

  int num = a.numerator * b.denominator - a.denominator * b.numerator;

  int den = a.denominator * b.denominator;

  return Fraction(num, den);

}

// 分数乘法

Fraction operator*(Fraction a, Fraction b) {

  int num = a.numerator * b.numerator;

  int den = a.denominator * b.denominator;

  return Fraction(num, den);

}

// 分数除法

Fraction operator/(Fraction a, Fraction b) {

  int num = a.numerator * b.denominator;

  int den = a.denominator * b.numerator;

  return Fraction(num, den);

}

在上述代码中,我们定义了一个Fraction类,它有两个成员变量numerator和denominator,用于表示分子和分母。接着,我们定义了四个重载的算术运算符(加、减、乘、除),它们可以对分数类型进行运算。

例如,对于两个分数a和b,我们可以使用如下的方法来进行加法运算:


Fraction a(1, 2); // 分数1/2

Fraction b(1, 3); // 分数1/3

Fraction c = a + b; // 分数5/6

通过这个例子,我们可以看到C++分数类的应用,它可以方便地进行分数运算,而且代码也比较简单易读。尤其是在一些涉及到精度的计算中,使用分数类会比使用浮点数类型更可靠和精确。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复