21xrx.com
2025-03-29 14:46:12 Saturday
文章检索 我的文章 写文章
C++ 分数类
2023-07-02 06:36:25 深夜i     18     0
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++分数类的应用,它可以方便地进行分数运算,而且代码也比较简单易读。尤其是在一些涉及到精度的计算中,使用分数类会比使用浮点数类型更可靠和精确。

  
  

评论区

请求出错了