Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 21 стр.

UptoLike

20
Рис.1.1. Демонстрация операций с классом Fraction.
1.4. Быстрая сортировка массива дробей
Тип Fraction может использоваться в качестве подставляемого
вместо обобщенного типа данных при генерации функций и классов на
основе обобщений. Приведем пример использования обобщения функции
быстрой сортировки для массива дробей. В сгенерированном методе с типом
Fraction требуется организовать сравнение двух дробей. Для этого класс
Fraction должен раскрывать интерфейс IComparable и иметь метод
сравнения дробей CompareTo().
class Fraction : IComparable
{
int sign; // знак дроби (+ или -)
int intPart; // целая часть дроби
int numerator; // числитель дроби
int denominator; // знаменатель дроби
// метод сравнения двух дробей
public int CompareTo(object ob)
{
if (this < (ob as Fraction)) return -1;
if (this > (ob as Fraction)) return 1;
return 0;
}
. . .
}
           Рис.1.1. Демонстрация операций с классом Fraction.


               1.4. Быстрая сортировка массива дробей

     Тип Fraction может использоваться в качестве подставляемого
вместо обобщенного типа данных при генерации функций и классов на
основе обобщений. Приведем пример использования обобщения функции
быстрой сортировки для массива дробей. В сгенерированном методе с типом
Fraction требуется организовать сравнение двух дробей. Для этого класс
Fraction должен раскрывать интерфейс IComparable и иметь метод
сравнения дробей CompareTo().

   class Fraction : IComparable
   {
      int sign;            // знак дроби (+ или -)
      int intPart;         // целая часть дроби
      int numerator;       // числитель дроби
      int denominator;     // знаменатель дроби

       // метод сравнения двух дробей
       public int CompareTo(object ob)
       {
           if (this < (ob as Fraction)) return -1;
           if (this > (ob as Fraction)) return 1;
           return 0;
       }
       . . .
   }




                                                                     20