Содержание
- 2. ФУНКЦИИ Перегрузка функций. Шаблоны функций. Функция main().
- 3. Использование нескольких функций с одним и тем же именем, но с различными типами параметров, называется перегрузкой
- 4. ПЕРЕГРУЗКА ФУНКЦИЙ. Часто бывает удобно, чтобы функции, реализующие один и тот же алгоритм для различных типов
- 5. ПЕРЕГРУЗКА ФУНКЦИЙ. Компилятор определяет, какую именно функцию требуется вызвать, по типу фактических параметров. Этот процесс называется
- 6. Перегрузка функций. Допустим, имеется четыре варианта функции, определяющей наибольшее значение: int max(int, int); // Возвращает наибольшее
- 7. ПЕРЕГРУЗКА ФУНКЦИЙ. При вызове функции max компилятор выбирает соответствующий типу фактических параметров вариант функции. в приведенном
- 8. Перегрузка функций. Если точного соответствия не найдено:
- 9. Если соответствие на одном и том же этапе может быть получено более чем одним способом, вызов
- 10. ПЕРЕГРУЗКА ФУНКЦИЙ. Неоднозначность может появиться при: преобразовании типа; использовании параметров-ссылок; использовании аргументов по умолчанию.
- 11. Пример неоднозначности при преобразовании типа: #include float f(float i){ cout return i; } double f(double i){
- 12. Пример неоднозначности при использовании параметров-ссылок : так как нет синтаксических различий между вызовом функции, которая получает
- 13. Пример неоднозначности при использовании аргументов по умолчанию: #include int f(int a){return a;} int f(int a, int
- 14. ПРАВИЛА ОПИСАНИЯ ПЕРЕГРУЖЕННЫХ ФУНКЦИЙ. Перегруженные функции должны находиться в одной области видимости, иначе произойдет сокрытие аналогично
- 15. В C++ есть мощное средство параметризации — шаблоны. Шаблоны функций
- 16. ШАБЛОНЫ ФУНКЦИЙ. Многие алгоритмы не зависят от типов данных, с которыми они работают. классический пример —
- 17. Шаблоны функций. Первое, что может прийти в голову — передать информацию о типе в качестве параметра
- 18. Шаблоны функций. Другим решением будет написание для работы с различными типами данных нескольких перегруженных функций Но
- 19. ШАБЛОНЫ ФУНКЦИЙ. Существуют шаблоны функций и шаблоны классов. С помощью шаблона функции можно определить алгоритм, который
- 20. Шаблоны функций. template заголовок{ /* тело функции */ } Формат простейшей функции-шаблона: Вместо слова Туре может
- 21. Шаблоны функций. Пример: функция, сортирующая методом выбора массив из n элементов любого типа, в виде шаблона
- 22. Шаблоны функций. Пример: главная функция программы, вызывающей эту функцию-шаблон, может иметь вид: #include template void sort_vybor(Type
- 23. ШАБЛОНЫ ФУНКЦИЙ. Первый же вызов функции, который использует конкретный тип данных, приводит к созданию компилятором кода
- 24. Шаблоны функций. Пример: явное задание аргументов шаблона при вызове: tempiate void f(Y, Z); void g(){ f
- 25. ШАБЛОНЫ ФУНКЦИЙ. Чтобы применить функцию-шаблон к типу данных, определенному пользователем (структуре или классу), требуется перегрузить операции
- 26. Шаблоны функций. Допустим, мы хотим более эффективно реализовать общий алгоритм сортировки для целых чисел. В этом
- 27. ШАБЛОНЫ ФУНКЦИЙ. Сигнатура шаблона функции включает не только ее тип и типы параметров, но и фактический
- 28. Функция, которой передается управление после запуска программы, должна иметь имя main. Функция main()
- 29. ФУНКЦИЯ MAIN(). Функция, main может возвращать значение в вызвавшую систему и принимать параметры из внешнего окружения.
- 30. Функция main(). Стандарт предусматривает два формата функции: без параметров: тип main(){ /* ... */} с двумя
- 31. ФУНКЦИЯ MAIN(). При запуске программы параметры разделяются пробелами. Имена параметров в программе могут быть любыми, но
- 32. ФУНКЦИЯ MAIN(). Если функция main() ничего не возвращает, вызвавшая система получит значение, означающее успешное завершение. Ненулевое
- 34. Скачать презентацию