Предыдущая Оглавление Следующая

Перегрузка операций.

Основное содержание работы.

Определить и реализовать класс - абстрактный тип данных (АТД). Определить и реализовать операции над данными этого класса. Выполнить полное тестирование этого класса.

Порядок выполнения работы.

  1. Выбрать класс АТД в соответствии с вариантом.
  2. Определить и реализовать в классе конструкторы, деструктор, функции Input (ввод с клавиатуры) и Print (вывод на экран), перегрузить операцию присваивания.
  3. Написать программу тестирования класса и выполнить тестирование.
  4. Дополнить определение класса заданными перегруженными операциями (в соответствии с вариантом).
  5. Реализовать эти операции. Выполнить тестирование.

Варианты заданий.

  1. АТД - множество с элементами типа char. Дополнительно перегрузить следующие операции:
    + - добавить элемент в множество (char + множество);
    + - объединение множеств;
    == - проверка множеств на равенство;
    - - удалить элемент из множества (множество - char);
    * - пересечение множеств.
  2. АТД - множество с элементами типа char. Дополнительно перегрузить следующие операции:
    > - проверка на принадлежность;
    < - проверка на подмножество;
    int()- мощность множества;
    <= - сравнение множеств ;
    * - пересечение множеств.
  3. АТД - однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
    + – объединить списки (список + список);
    -- – удалить элемент из начала (--list);
    == – проверка на равенство;
    + – добавить элемент в начало (char + список);
    + - добавить элемент в конец (список + char).
  4. АТД - однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:
    [] – доступ к элементу в заданной позиции;
    != - проверка на неравенство;
    () - удалить элемент в заданной позиции;
    -- - удалить элемент из конца (список--);
    - - удалить элемент из списка (список - char).
  5. АДТ - стек. Дополнительно перегрузить следующие операции:
    + - добавить элемент в стек;
    - - извлечь элемент из стека;
    bool()- проверка, пустой ли стек.
  6. АДТ - очередь. Дополнительно перегрузить следующие операции:
    + - добавить элемент;
    - - извлечь элемент;
    bool() – проверка, пустая ли очередь.
  7. АДТ - одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
    + - сложение векторов (a[i]+b[i] для всех i);
    [] - доступ по индексу;
    - - вычитание векторов (a[i]-b[i] для всех i);
    - - вычесть из вектора число (вектор - double);
    + - добавить число к вектору (double + вектор).
  8. АДТ - одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:
    * - умножение векторов (a[i]*b[i] для всех i);
    [] - доступ по индексу;
    * - умножить вектор на число (вектор * double);
    int() - размер вектора;
    = - присвоить всем элементам вектора значение (вектор = double).
  9. АТД - двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
    () - доступ по индексу;
    * - умножение матриц;
    * - умножение матрицы на число;
    * - умножение числа на матрицу;
    - - разность матриц.
  10. АТД - двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:
    () - доступ по индексу;
    = - присвоить всем элементам матрицы значение (матрица = double);
    + - сложение матриц;
    + - сложить матрицу с числом (матрица + double);
    ++ - транспонировать матрицу.
Предыдущая Оглавление Следующая