Объектно-ориентированное программирование на C++. Андрианова А.А - 27 стр.

UptoLike

Объектно-ориентированное программирование на С++
5. Перегрузить шаблон функции поиска максимального и
минимального элементов массива для случая, когда элементами
массива являются вектора. Вектор задается с помощью массива.
Сравнивать вектора следует по их длине.
6. Пусть элементы множества хранятся в массиве. Написать шаблон
функции проверки включения одного множества в другое. Тип
элементов множества может быть любым.
7. Пусть элементы множества хранятся в массиве. Написать
шаблоны функций получения:
пересечения двух множеств;
объединения двух множеств;
разности двух множеств.
Тип элементов множества может быть любым.
8. Пусть элементы множества хранятся в массиве. Написать шаблон
функции проверки равенства двух множеств. Тип элементов
множества может быть любым.
1.5. Указатели на функции
При выполнении программы машинный код откомпилированной
функции загружается в оперативную память компьютера. Таким образом,
к функциям можно обращаться по их адресу. Для этого в языке С++
существует специальный тип данных указатель на функцию, значением
которого является ее адрес.
Указатель на функцию определяется прототипом той функции, на
которую он будет ссылаться, т. е. типом возвращаемого значения и
списком формальных параметров. Поэтому адреса различных функций,
имеющих одинаковый прототип, могут быть присвоены одной
переменной-указателю. Имя функции соответствует ее адресу.
Указатель на функцию определяется следующим образом:
тип_функции (*имя_указателя) (список_параметров);
где тип_функции определяет тип возвращаемого значения функции,
список_параметров – список формальных параметров.
Покажем на примере способы работы с указателями на функции.
Пусть имеются следующие математические функции:
27
                          Объектно-ориентированное программирование на С++
    5. Перегрузить шаблон функции поиска максимального и
       минимального элементов массива для случая, когда элементами
       массива являются вектора. Вектор задается с помощью массива.
       Сравнивать вектора следует по их длине.
    6. Пусть элементы множества хранятся в массиве. Написать шаблон
       функции проверки включения одного множества в другое. Тип
       элементов множества может быть любым.
    7. Пусть элементы множества хранятся в массиве. Написать
       шаблоны функций получения:
          • пересечения двух множеств;
          • объединения двух множеств;
          • разности двух множеств.
       Тип элементов множества может быть любым.
    8. Пусть элементы множества хранятся в массиве. Написать шаблон
       функции проверки равенства двух множеств. Тип элементов
       множества может быть любым.


                                    1.5. Указатели на функции

    При выполнении программы машинный код откомпилированной
функции загружается в оперативную память компьютера. Таким образом,
к функциям можно обращаться по их адресу. Для этого в языке С++
существует специальный тип данных – указатель на функцию, значением
которого является ее адрес.
    Указатель на функцию определяется прототипом той функции, на
которую он будет ссылаться, т. е. типом возвращаемого значения и
списком формальных параметров. Поэтому адреса различных функций,
имеющих одинаковый прототип, могут быть присвоены одной
переменной-указателю. Имя функции соответствует ее адресу.
    Указатель на функцию определяется следующим образом:

    тип_функции (*имя_указателя) (список_параметров);

где тип_функции определяет тип возвращаемого значения функции,
список_параметров – список формальных параметров.
    Покажем на примере способы работы с указателями на функции.
Пусть имеются следующие математические функции:

                                                                        27