Содержание
- 2. Универсальным алгоритмом будем называть алгоритм, не привязанный к определенному типу входных и выходных данных, т.е. одинаково
- 3. void bubble_sort(int data[], int n) { ... } void bubble_sort(float data[], int n) { ... }
- 4. Решение 1: псевдоним типа (typedef) typedef T int; T summa(T array[], int size) { T res
- 5. Универсальный алгоритм в С++ может быть реализован с помощью шаблона функции. Определение шаблона похоже на определение
- 6. Синтаксис определения Определение шаблона функции template тип имя_функции(список_аргументов) { операторы; }; В теле шаблона функции могут
- 7. template T summa(T array[], int size) { T res = 0; for (int i=0; i res
- 8. При вызове функции-шаблона, после ее имени указывают фактические параметры шаблона в угловых скобках, а затем фактические
- 9. Шаблоны можно параметризовать не только именами типов, но и объектами, поэтому аргумент size можно указать в
- 10. Параметрами шаблона могут быть − параметр-тип (имя типа – int, float, string и т.д.) − параметр-шаблон
- 11. Параметром-переменной в шаблоне не может быть: − void − пользовательский тип − вещественный тип (float, double)
- 12. Шаблон в языке С++ реализует принципы параметрического полиморфизма, то есть возможности применять один и тот же
- 13. Если к какому-либо конкретному типу аргументов шаблонный алгоритм неприменим, то можно определить обычную функцию, список типов
- 14. Иногда при вызове шаблона функции после имени можно не указывать фактические параметры в угловых скобках. В
- 15. При выведении типов могут применяться только преобразования точного отождествления, то есть: Преобразование типов T[] T* T
- 16. Пример преобразования типов template T max(T t1, T t2){...} int main() { max(1,2); // max (1,2);
- 17. Устранение неоднозначности max (’a’,1); max (2.5,4); Неоднозначности не возникают при использовании явного квалификатора типа шаблона
- 18. Универсальным контейнером будем называть программную структуру, которая может использоваться для хранения данных разных типов. Такие контейнеры
- 19. Синтаксис объявления Объявление шаблона класса template class имя_класса { поля и методы; }; В объявлении класса-шаблона
- 20. Создание объекта шаблонного класса называется инстанцированием шаблона. Синтаксис инстанцирования Создание объекта имя_класса объект;
- 21. Пример: пара чисел template class pair { private: T1 data1; T2 data2; public: pair(T1 d1, T2
- 22. pair c1(5, ’S’); pair c2(0.39, false); c1.print(); c2.print(); Примеры инстанцирования шаблона класса pair Для корректного функционирования
- 23. Пример 2: шаблон массива Задача: создать шаблон класса array, позволяющего хранить данные любого типа. Предусмотреть следующие
- 24. #include #include template class array { public: array(); ~array(); T& operator[](int k); private: T *data; };
- 25. template array ::array() { data = new T[n]; } template array ::~array() { delete []data; }
- 26. template T& array ::operator[](int k) { if( k =n ) throw std::out_of_range("Out!"); return data[k]; } template
- 28. Скачать презентацию

![void bubble_sort(int data[], int n) { ... } void bubble_sort(float data[], int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-2.jpg)
![Решение 1: псевдоним типа (typedef) typedef T int; T summa(T array[], int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-3.jpg)


![template T summa(T array[], int size) { T res = 0; for](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-6.jpg)
















; private: T *data; };](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-23.jpg)
![template array ::array() { data = new T[n]; } template array ::~array() { delete []data; }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-24.jpg)
 { if( k =n ) throw std::out_of_range("Out!");](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/989063/slide-25.jpg)
Java For Automation. Лекция 1
Роль средств массовой информации в демократическом правовом государстве
Информация. Знания. Информационные процессы
Презентация на тему Информация и цивилизация
Запуск программ. Виды меню
Презентация на тему Добавление видеофрагментов
Основные устройства компьютера
Рекламный кейс книжной поисковой системы
QGis
Компьютерные сети
Тренажёр по информатике для 2 класса
К Телеком. Модернизация домашней сети г. Богданович
Итерационные алгоритмы и программы. Лекция 7
Реализация алгоритмов ветвления в среде программирования
Работа с системой MOODLE
Активация единой учетной записи для работы в РИС ТО
Контур. Бухгалтерия. Бюджет
Описание системы ActiveCRM PESTcontrol
Восьмеричная система счисления
Разработка эффективного алгоритма действий при перевалке бандажей роликоправильной машины на участке термоотделения РБЦ
Цветовая модель Lab
Підкласи GObject
Правило Если - то
Алгоритмическая конструкция ветвление основные алгоритмические конструкции
Генеративные состязательные сети
Системы счисления
Record a Presentation
Компьютерная графика