美文网首页
(C#)分数的重载运算

(C#)分数的重载运算

作者: JCone | 来源:发表于2018-04-10 11:09 被阅读0次

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

///

/// 分数的加减乘除运算符重载

///

public class Rfloat

{

    private float fNumerator = 0f;

    private float fDenominator = 0f;

    public Rfloat(float numerator, float denominator)

    {

        fNumerator = numerator;

        fDenominator = denominator;

    }

    public static Rfloat operator +(Rfloat a, Rfloat b)

    {

        var denominator = a.fDenominator * b.fDenominator;

        var numerator = a.fNumerator * b.fDenominator + b.fNumerator * a.fDenominator;

        return new Rfloat(numerator, denominator);

    }

    public static Rfloat operator -(Rfloat a, Rfloat b)

    {

        var denominator = a.fDenominator * b.fDenominator;

        var numerator = a.fNumerator * b.fDenominator - b.fNumerator * a.fDenominator;

        return new Rfloat(numerator, denominator);

    }

    public static Rfloat operator *(Rfloat a, Rfloat b)

    {

        var denominator = a.fDenominator * b.fDenominator;

        var numerator = a.fNumerator * b.fNumerator;

        return new Rfloat(numerator, denominator);

    }

    public static Rfloat operator /(Rfloat a, Rfloat b)

    {

        var denominator = a.fDenominator * b.fNumerator;

        var numerator = a.fNumerator * b.fDenominator;

        return new Rfloat(numerator, denominator);

    }

    public float GetFloat()

    {

        return fNumerator / fDenominator;

    }

}

相关文章

  • C#重载运算符

    C#中比较运算符的重载 == and != ; > and <; >= and <=. c#中要求比较运算符的重载...

  • C# 第三节

    C# 运算符重载 您可以重定义或重载 C# 中内置的运算符。因此,程序员也可以使用用户自定义类型的运算符。重载运算...

  • (C#)分数的重载运算

    using System.Collections;using System.Collections.Generic...

  • 10-25学习总结

    今天继续学习了C#第四章 1.运算符重载 运算符也是C#类的一个重要成员,系统对大部分运算符都给出了常规定义,这些...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 运算符重载及其他约定

    7.1 重载算术运算符 重载二元算术运算符 重载复合赋值运算符 重载一元运算符 重载比较运算符 等号运算符:‘eq...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • C++重载

    重载 C++语言规定: 重载的运算符要保持原运算符的意义。只能对已有的运算符重载,不能增加新的运算符。重载的运算符...

  • C++运算符重载-下篇 (Boolan)

    C++运算符重载-下篇 (Boolan) 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符...

  • C++运算符重载-上篇 (Boolan)

    C++运算符重载-上篇 (Boolan) 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符...

网友评论

      本文标题:(C#)分数的重载运算

      本文链接:https://www.haomeiwen.com/subject/yttwhftx.html