Главная страница
Навигация по странице:

  • Перегрузка функций Образец № 1.

  • Образец № 3.

  • Шаблон функций Образец № 4.

  • Решения задачи № 4.

  • 5Лабораторная работа Перегрузка функций и операторов. Шаблоны функций. Цель работы


    Скачать 456.11 Kb.
    Название5Лабораторная работа Перегрузка функций и операторов. Шаблоны функций. Цель работы
    АнкорProgrammirovaniy
    Дата16.04.2022
    Размер456.11 Kb.
    Формат файлаdocx
    Имя файла1641802396.docx
    ТипЛабораторная работа
    #477875


    5-Лабораторная работа: Перегрузка функций и операторов. Шаблоны функций.

    Цель работы: На языке программирования С++ существует такое понятие как ООП (объектно-ориентированное программирование). Данное понятие включает в себя такие понятие как перегрузка функций и операторов, шаблоны функций. Данные понятия даёт полное представление об высоком уровне программирования на языке С++.

    Постановления задачи:

    По заданным вариантам выполнить следующие действия:

    - Выполнить задания по таблице для перегрузки функций.

    - Выполнить задания по таблице для перегрузки операторов.

    - Выполнить задания по таблице для шаблонов функций.

    Перегрузка функций


    1

    Перегрузить функцию максимума для двух чисел (использовать int, float, double);

    2

    Перегрузить функцию минимума для двух чисел (использовать int, float, double);

    3

    Перегрузить функцию суммы для двух чисел (использовать int, float, double);

    4

    Перегрузить функцию вычитания для двух чисел (использовать int, float, double);

    5

    Перегрузить функцию максимума для трех чисел (использовать int, float, double);

    6

    Перегрузить функцию минимума для трех чисел (использовать int, float, double);

    7

    Перегрузить функцию суммы для трех чисел (использовать int, float, double);

    8

    Перегрузить функцию вычитания трех двух чисел (использовать int, float, double);

    9

    Перегрузить функцию максимума для четырех чисел (использовать int, float, double);

    10

    Перегрузить функцию минимума для четырех чисел (использовать int, float, double);

    11

    Перегрузить функцию суммы для четырех чисел (использовать int, float, double);

    12

    Перегрузить функцию вычитания для четырех чисел (использовать int, float, double);

    13

    Перегрузить функцию максимума для двух чисел (использовать int, float, double);

    14

    Перегрузить функцию минимума для двух чисел (использовать int, float, double);

    15

    Перегрузить функцию суммы для двух чисел(использовать int, float, double);

    16

    Перегрузить функцию вычитания для двух чисел (использовать int, float, double);

    17

    Перегрузить функцию определения количества четных чисел для двух чисел (использовать int, float, double);

    18

    Перегрузить функцию определения количества нечетных чисел для двух чисел (использовать int, float, double);

    19

    Перегрузить функцию определения количества положительных чисел для двух чисел (использовать int, float, double);

    20

    Перегрузить функцию определения количества отрицательных чисел для двух чисел (использовать int, float, double);


    Перегрузка операторов


    1

    Перегрузить оператор + для двух комплексных чисел;

    2

    Перегрузить оператор + для двух дробных чисел;

    3

    Перегрузить оператор - для двух комплексных чисел;

    4

    Перегрузить оператор - для двух дробных чисел;

    5

    Перегрузить оператор * для двух комплексных чисел;

    6

    Перегрузить оператор * для двух дробных чисел;

    7

    Перегрузить оператор / для двух комплексных чисел;

    8

    Перегрузить оператор / для двух дробных чисел;

    9

    Перегрузить оператор ++ для одномерных массивов;

    10

    Перегрузить оператор ++ для двухмерных массивов;

    11

    Перегрузить оператор -- для одномерных массивов;

    12

    Перегрузить оператор -- для двухмерных массивов;

    13

    Перегрузить оператор + элементов для двух одномерных массивов;

    14

    Перегрузить оператор - элементов для двух одномерных массивов;

    15

    Перегрузить оператор * элементов для двух одномерных массивов;

    16

    Перегрузить оператор / элементов для двух одномерных массивов;

    17

    Перегрузить оператор + для двух целых чисел;

    18

    Перегрузить оператор - для двух целых чисел;

    19

    Перегрузить оператор * для двух целых чисел;

    20

    Перегрузить оператор / для двух целых чисел;


    Шаблон функций


    Задачи

    1

    Создать шаблонную функцию для возведения в степень (степень может быть только целым числом), которая принимает два аргумента: число и степень. Число может иметь только тип int, float, double или char. Любой другой тип или модификация указанных должна считаться ошибочным значением и вывести соответствующее сообщение. Степень – только целое число.

    2

    Создать шаблонную функцию для суммы трех значений одного типа. Если тип – числовой, то должна выйти сумма чисел; если тип – строковый, должно выйти объединенное значение строк/символов.

    3

    Создать шаблонную функцию для вычисления синуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    4

    Создать шаблонную функцию для вычисления косинуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    5

    Создать шаблонную функцию для вычисления тангенса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    6

    Создать шаблонную функцию для вычисления котангенса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    7

    Создать шаблонную функцию для вычисления арксинуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    8

    Создать шаблонную функцию для вычисления арккосинуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    9

    Создать шаблонную функцию для вычисления арктангенса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    10

    Создать шаблонную функцию для вычисления арккотангенса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    11

    Создать шаблонную функцию для вычисления суммы трех значений одного типа. Данные три значения могут быть типа int, float, double, char и char* (например, ''25'', ''12'', ''45''). Результат должен выйти как числовое значение

    12

    Создать шаблонную функцию, принимающую два аргумента одинакового типа. Если оба аргумента – типа int, то функция должна вывести их сумму; если они – типа float или double, функция должна вывести их произведение; если они – типа char, функция должна вывести символ, код которого соответствует усредненному значению кодов данных аргументов; если они – типа char * (массивы символов), то функция должна вывести те символы, которые встречаются в обоих массивах.

    13

    Создать шаблонную функцию, принимающую два аргумента одинакового типа. Если оба аргумента – типа int, то функция должна вывести их произведение; если они – типа float или double, функция должна вывести их разность; если они – типа char, функция должна вывести символ, код которого соответствует удвоенному значению суммы кодов данных аргументов; если они – типа char * (массивы символов), то функция должна вывести те символы, которые встречаются в обоих массивах.

    14

    Создать шаблонную функцию, принимающую два аргумента одинакового типа. Если оба аргумента – типа int, то функция должна вывести первое число, возведенное в степень «второе_число»; если они – типа float или double, функция должна вывести модуль от их разности; если они – типа char, функция должна вывести символ, код которого соответствует значению (сумма_кодов_обоих_аргументов + 64); если они – типа char * (массивы символов), то функция должна вывести те символы, которые встречаются только в одном массиве (может быть несколько повторений символа внутри массива).

    15

    Создать шаблонную функцию, принимающую два аргумента одинакового типа. Если оба аргумента – типа int, то функция должна вывести (первое_число * 2 + второе_число * -1); если они – типа float или double, функция должна вывести (модуль_от_их_разности * -2 - 2); если они – типа char, функция должна вывести символ, код которого соответствует значению (модуль_от(сумма_кодов_обоих_аргументов * 2 – 120)); если они – типа char * (массивы символов), то функция должна вывести те символы, которые встречаются только в одном массиве и только один раз.

    16

    Создать шаблонную функцию для возведения в степень (степень может быть только целым числом), которая принимает два аргумента: число и степень. Число может иметь только тип int, float, double или char. Любой другой тип или модификация указанных должна считаться ошибочным значением и вывести соответствующее сообщение. Степень – только целое число.

    17

    Создать шаблонную функцию для суммы трех значений одного типа. Если тип – числовой, то должна выйти сумма чисел; если тип – строковый, должно выйти объединенное значение строк/символов.

    18

    Создать шаблонную функцию для вычисления синуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    19

    Создать шаблонную функцию для вычисления косинуса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    20

    Создать шаблонную функцию для вычисления тангенса числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.


    Образец__№_1.'>Перегрузка функций

    Образец1. Перегрузить функцию деления для двух чисел (использовать int, float, double).
    Решения задачи 1.



    Перегрузка операторов

    Базовый уровень

    Образец2. Перегрузить оператор – для объектов класса.

    Решения задачи 2.



    Перегрузка операторов

    Образец3. Перегрузить оператор < для объектов класса.

    Решения задачи 3.






    Шаблон функций

    Образец4. Создать шаблонную функцию для вычисления логарифма числа. Ограничение: число иметь только тип int, float или double. При использовании любого другого типа должно выдаваться соответствующее сообщение.

    Решения задачи 4.



    написать администратору сайта