Содержание
- 2. Перегрузка функций Перегрузка функций Часто бывает удобно, чтобы функции, реализующие один и тот же алгоритм для
- 3. Перегрузка функций Использование нескольких функций с одним и тем же именем, но с различными типами параметров,
- 4. Перегрузка функций Тип возвращаемого результата в разрешении не участвует. Рассмотрим примеры: int max(int, int); int max(int,
- 5. Перегрузка функций При вызове функции компилятор выбирает соответствующий типу фактических параметров вариант функции. Если точного соответствия
- 6. Перегрузка функций Если ни одного соответствия не найдено, выдается диагностическое сообщение об ошибке. Неоднозначность может появиться
- 7. Перегрузка функций Следующие функции нельзя считать перегруженными: int max(int, int); double max(int, int); long max(int, const
- 8. Перегрузка функций Следующий пример показывает неоднозначность при наличии параметров по умолчанию. int f(int a){return a;} int
- 9. Перегрузка функций Неоднозначность возникает при неопределенности преобразований, например, float f(float); double f(double); f(10); // к какому
- 10. Перегрузка функций - функции не могут быть перегруженными, если описание их параметров отличается только модификатором const
- 11. Шаблоны функций *Шаблоны функций В С++ есть мощное средство параметризации алгоритма – шаблоны функций. С помощью
- 12. Шаблоны функций Общий формат объявления шаблонной функции: template заголовок { // тело функции } - список
- 13. Шаблоны функций В общем случае список шаблона может содержать несколько типов, например, template void f() {
- 14. Шаблоны функций В качестве первого примера шаблона функции вспомним функцию swap: template void swap(Type &arg_1, Type
- 15. Шаблоны функций Вызов этой функции может быть осуществлен двумя способами: - как вызов обычной функции без
- 16. Шаблоны функций - со спецификацией параметров шаблона int a=120, b=-45; swap (a,b); Обратите внимание на то,
- 17. Шаблоны функций В качестве параметров шаблона функции могут выступать как стандартные типы, так и типы, определенные
- 18. Шаблоны функций Рассмотрим пример class Test { protected: float test; public: Test(){}; Test(float ):test(t){}; Test operator
- 19. Шаблоны функций ostream &operator { out return out; } // шаблон функции умножения template Type mult(Type
- 20. Шаблоны функций // вызов функции для пользовательского типа Test tst_1(3.4F), tst_2(-4.55F); cout Как говорилось ранее, можно
- 21. Шаблоны функций Этот шаблон может быть использован и при работе со стандартными типами данных: float f_1
- 22. Шаблоны функций Рассмотрим пример несложного шаблонного класса. template class Test { protected: Type test; public: Test(){};
- 23. Шаблоны функций Реализация составных и дружественных функций шаблонного класса: template ostream &operator &t) { out return
- 24. Шаблоны функций Объявление объектов шаблонных классов и их использование: Test tst_int_1=10, tst_int_2=200; cout Test tst_double_1(77.84), tst_double_2(4.1);
- 25. Шаблоны функций Функция в качестве возвращаемого результата Мы знаем, что функция не может вернуть в качестве
- 26. Шаблоны функций #include using namespace std; double mult(double d) { return d*2; } typedef double (*PF)(double);
- 27. Шаблоны функций PF func() { return mult; } int main() { PF ptr_fun = func(); cout
- 28. Функция main Функция, которой передается управление после запуска (вызова) программы на исполнение, должна иметь имя main.
- 29. Функция main Стандарт предусматривает два формата функции: тип main() { // ……. } тип main(int argc,
- 30. Функция main Пример вызова функции main с параметрами из командной строки: d:\CPP\program_main.exe one two three
- 31. Директивы препроцессора * Директивы препроцессора Препроцессором называется первая фаза компиляции. Инструкции (команды) препроцессора называются директивами. Они
- 32. Директивы препроцессора Поиск указанного файла начинается со стандартного каталога include, имеющегося в любой реализации языка. После
- 33. Директивы препроцессора Заголовочные файлы обычно имеют расширение h и могут содержать: - определение типов, встроенных функций,
- 34. Директивы препроцессора В заголовочных файлах не должно быть определение функций и данных. Их принято выносить в
- 35. Директивы препроцессора #include”file_name.h” file_name_main.cpp Файл основной программы, содержащий функцию main file_name_1.cpp file_name_2.cpp …………………………. file_name_n.cpp Файлы реализации
- 36. Директивы препроцессора Директива #define Директива define определяет подстановку в тексте программы. Она используется для определения: -
- 37. Директивы препроцессора - макросов, которые выглядят как функции, но реализуются подстановкой из текста в текст программы:
- 38. Директивы препроцессора Например, для описанного макроса вызов cout приведет к получению числа 6, для правильного ответа
- 39. Директивы препроцессора - символов, управляющих условной трансляцией. Они используются совместно с директивами #ifdef и #ifndef. Общий
- 40. Директивы препроцессора Имена, объявляемые через директиву define рекомендуется писать прописными символами, чтобы зрительно отличать их от
- 41. Директивы препроцессора Директивы условной трансляции Директивы условной трансляции #if, #ifdef, #ifndef применяются для того, чтобы исключить
- 42. Директивы препроцессора Формат директивы #if: #if константное_выражение ….. [ #elif константное_выражение ] ….. [ #elif константное_выражение
- 43. Директивы препроцессора Исключаемые блоки могут содержать как описания, так и исполняемые операторы. Пример условно исключения различных
- 44. Директивы препроцессора В константных выражениях может использоваться проверка, определена ли константа с помощью директивы difine, например:
- 45. Директивы препроцессора И еще одно применение директив условной трансляции – временное комментирование фрагмента кода. Иногда используется
- 46. Предопределенные макросы Например, макрос __splusplus определен, если программа компилируется в среде С++. #ifdef __cplusplus cout #else
- 47. Предопределенные макросы Другие макросы: - __DATE__ - содержит строку с текущей датой (месяц, день, год), например,
- 48. Предопределенные макросы - __LINE__ - текущая строка исходного текста; - __TIME__ - текущее время.
- 49. Предопределенные макросы
- 60. Скачать презентацию








































![Директивы препроцессора Формат директивы #if: #if константное_выражение ….. [ #elif константное_выражение ]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1114827/slide-41.jpg)
















Работа в онлайн-сервисе. LearningApps.org
Физические принципы формирования ячейки памяти постоянного запоминающего устройства
База данных. Определение
Технология использования векторной графики для разработки элементов рекламы
Презентация на тему Браузеры
Автоматизированные системы
Визуальное программирование. Среда программирования Scratch 3.17.2
трпо_жцпо-модели
Управление вычислительными ресурсами
Стандарты защиты
Понятие основного цикла. Переменные и типы данных STEP 7
Application presentation template
Ввод информации в память компьютера
Инструмент. Штамп
Сложные условия
Кибер-безопасность
Организация локальных сетей
The third eye. To‘ldirilgan voqelik
Делегаты. Лямбда выражения. События. Лекция 6
Алгоритмы. Повторение
Организация поиска информации в сети интернет
Тестирование Google Forms
Классы. Описание класса
Telegram-бот Медицинский консультант
Worldwidе Оil Portal - Это первый и единственный портал в мире
Различия синтаксиса С и С++. Тернарные операторы. Ссылки. Файлы
Различные подходы к измерению количества информации
Функциональное программирование. Бестиповые арифметические выражения. (Лекция 2.2)