Содержание
- 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)
Я В Контакте. Исследовательская работа объединения Тигр
Инструкция. Переход на авторизацию
Массивы С++
Презентация на тему Внешняя память
Атаки на алгоритмы шифрования
Повторяем изученное за год
Блок травы. Играть
Разработка АИС Советник для анализа и принятия решений при торговых операций на рынке Forex
Сетикет
Примеры ошибок партнеров
Типы данных, переменные, арифметические операторы и математические функции
SoftServe. Sourcing
Бесплатная программа компьютерной анимации MMD;PMD/PMX
algoritmi_sresheniyami
Периферийные устройства персонального компьютера
Создание презентаций в программе Microsoft Power Point 2007
Интерактивные элементы в дизайн макетах
Презентация PowerPoint - современный способ представления самой разной информации
Поиск информации в сети Интернет
Запросы с групповыми операциями
Качество программного обеспечения
Бэкапы, бэкапы и еще раз бэкапы. Лекция 2
Preprocessors and SCSS
Портал для адвокатов КИС СОЮ. Московский городской суд
Создание веб-сайтов
Алгоритмы и алгостихи
Minecraft Education. Язык программирования
Техник по информационным системам. Работа с поисковыми системами