// Overload + (class + class) public static Fraction operator +(Fraction first_instance, Fraction second_instance) { // Create result object Fraction result = new Fraction(); // Check denominators if (first_instance.Denominator == second_instance.Denominator) { // Numerator result.Numerator = first_instance.Numerator + second_instance.Numerator; // Denominator result.Denominator = first_instance.Denominator; } else { // Lowest common denominator int LowestCommonDenominator = Fraction._FindLowestCommonDenominator(first_instance.Denominator, second_instance.Denominator); // Numerator result.Numerator = first_instance.Numerator * (LowestCommonDenominator / first_instance.Denominator) + second_instance.Numerator * (LowestCommonDenominator / second_instance.Denominator); // Denominator result.Denominator = LowestCommonDenominator; } // Return result object return(result); }
// Overload > (class > int) public static bool operator >(Fraction first_instance, int number) { // Lowest common denominator int LowestCommonDenominator = Fraction._FindLowestCommonDenominator(first_instance.Denominator, 1); // Check instance and mumber if ((first_instance.Numerator * (LowestCommonDenominator / first_instance.Denominator)) > (number * LowestCommonDenominator)) { // Return value return(true); } // Return value return(false); }
// Overload > (int > class) public static bool operator >(int number, Fraction second_instance) { // Lowest common denominator int LowestCommonDenominator = Fraction._FindLowestCommonDenominator(second_instance.Denominator, 1); // Check instance and mumber if ((number * LowestCommonDenominator) > (second_instance.Numerator * (LowestCommonDenominator / second_instance.Denominator))) { // Return value return(true); } // Return value return(false); }
// Overload < (class < class) public static bool operator <(Fraction first_instance, Fraction second_instance) { // Lowest common denominator int LowestCommonDenominator = Fraction._FindLowestCommonDenominator(first_instance.Denominator, second_instance.Denominator); // Check instance and mumber if ((first_instance.Numerator * (LowestCommonDenominator / first_instance.Denominator)) < (second_instance.Numerator * (LowestCommonDenominator / second_instance.Denominator))) { // Return value return(true); } // Return value return(false); }
// Overload + (class + int) public static Fraction operator +(Fraction instance, int number) { // Create result object Fraction result = new Fraction(); // Lowest common denominator int LowestCommonDenominator = Fraction._FindLowestCommonDenominator(instance.Denominator, 1); // Numerator result.Numerator = instance.Numerator * (LowestCommonDenominator / instance.Denominator) + number * LowestCommonDenominator; // Denominator result.Denominator = LowestCommonDenominator; // Return result object return(result); }