Содержание
- 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)
















Как играть в transformice
Представление информации в ЭВМ
Универсальность цифрового представления информации
Сервис Плюс. Инновации для реального бизнеса
Презентація 10 клас Урок 21
Информационные технологии функциональной обработки информации
Алгоритмический язык КуМир
Работа в https://learningapps.org
Комп'ютерна мережа
programmirovanie_l5-2016
Язык разметки гипертекста. Терминология HTML. Методика использования. Основные конструкции
Вікна. Символи
Аппаратурная реализация кодера
Создание файлового сервера
Модели жизненного цикла программного обеспечения информационной системы. (Лекция 4)
Microsoft Excel Формулалар мен функциялар
Основные принципы построения автоматизированных систем (Тема 3)
Цифровая маркировка лекарств ГК Новая Норма
Разработка электронного журнала успеваемости
Основы логики
Проектирование и архитектура вычислительных систем
Система счисления. Вопросы для повторения
Средства контроля помещений на отсутствие закладных устройств. Лекция 33
Практическое занятие. Формирование структуры предприятия в PLM-системе
Внедрение единого центра управления ЛВС с возможностью использования мультимедийных ресурсов (синолоджи)
Основные понятия теории автоматического управления. Лекция 1
Основы Symfony. Отличия версии 3.x от 2.x