Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
gusca
5 / 5 / 0
Регистрация: 17.08.2009
Сообщений: 168
#1

Шаблоны функций - C++

20.08.2009, 14:36. Просмотров 1506. Ответов 4
Метки нет (Все метки)

тема: Шаблони функції

Помогите написпть код програми на Turbo C++


Теоретичні відомості:
за допомогою шаблона функції можна визначити алгоритм, що буде застосовуватися до даних різних типів, а конкретний тип даних передається

функції у вигляді параметра на етапі компіляції. Компілятор автоматично генерує правильний код, що відповідає переданому типу. Таким чином, створюється функція, що автоматично перевантажує сама себе І при цьому не містить накладних витрат, зв'язаних з параметризацією.
Шаблон функції визначається в такий спосіб:
template <classType> заголовок {
/* тіло функції */}
Замість слова Туре може використовуватися довільне ім'я. Ідентифікатор Туре, що задає так званий параметризований тип, може використовуватися як в іншій частині заголовка, так і в тілі функції. Параметризований тип — це усього лише фіктивне ім'я, яке компілятор автоматично замінить ім'ям реального типу даних при створенні конкретної версії функції. У загальному випадку шаблон функції може містити декілька параметризованих типів <class Туре1, class Туре2, class Туре3,... >.
Процес створення конкретної версії функції називається інстащіюванням шаблона або створенням екземпляра функції. Можливі два способи інстанціювання шаблона: а) явний, коли оголошується заголовок функції, у якому всі параметризовані типи замінені на конкретні типи, відомі в цей момент у програмі, б) неявний, коли створення екземпляра функції відбувається автоматично, якщо зустрічається фактичний виклик функції.
Індивідуальні завдання
Створити шаблони функцій сортування одномірних масивів різними методами (на основі Лабораторної роботи №16). Викликати шаблони функцій сортування для масивів цілочисельного та дійсного типу

Код лаби № 16

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream.h>
#include<conio.h>
int main(){
const int n=3,m=3;
int i,j,count=0;
float matr[n][m]={1, 0, 1, 0, 1, 0, 1, 0, 1};
float mid=0;
for(i=0;i<n;++i,cout<<'\n')
for(j=0;j<m;++j){
mid+=matr[i][j];
cout<<matr[i][j]<<' ';}
mid/=(n * m);
for(i=0;i<n;++i)
for(j=0;j<m;++j)
if(!matr[i][j]){
count++;
matr[i][j]=mid;}
cout<<"\nRezyl'tat:\n";
for(i=0;i<n;++i, cout<<'\n')
for(j=0;j<m;++j)
cout<<matr[i][j]<<' ';
cout<<"\nKolicgestvo nylei:\n"<<count;
getch();
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2009, 14:36     Шаблоны функций
Посмотрите здесь:

C++ Шаблоны функций
C++ Шаблоны функций
Шаблоны функций C++
C++ Шаблоны функций
шаблоны функций C++
Шаблоны функций в с++ C++
шаблоны функций C++
Шаблоны функций C++
C++ Шаблоны функций
C++ Шаблоны функций
C++ Шаблоны функций
Шаблоны функций C++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FilipFray
2664 / 652 / 44
Регистрация: 13.01.2009
Сообщений: 2,159
20.08.2009, 17:51     Шаблоны функций #2
Перевод на русс. яз.
тема: шаблоны функции

Помогите написать код программы на Turbo C++

Теоретические сведения:
с помощью шаблона функции можно определить алгоритм, который будет применятся к данным различных типов, а конкретный тип данных передается функции в виде параметра на этапе компиляции. Компилятор автоматически генерирует правильный код, что соответствует передаваемому типу. Таким способом, создается функция, которая автоматически перегружает сама себя и при этом не содержит накладных расходов, связанных параметризацией.
Шаблоны ф-ции определяются таким способом:
template <classType> заголовок {
/* тело ф-ции */}
Вместо слова Type может использоваться произвольное имя. Идентификатор Type, который задает так называемый параметризованный тип, может использоваться как в другой части заголовка, так и в теле ф-ции. Параметризованный тип – это всего лишь фиктивное имя, которое компилятор автоматически заменит именем реального типа данных при создании конкретной версии ф-ции. В общем случае шаблон ф-ции может содержать несколько параметризованных типов <class Туре1, class Туре2, class Туре3,... >. Процесс создания конкретной версии ф-ции называется инстанцированием шаблона или созданием экземпляра ф-ции. Возможны два способа инстанцирования шаблона:
a) Явный, когда объявляется заголовок ф-ции, в котором все параметризуемые типы заменены на конкретные типы, известные в этот момент в программе
b) Неявный, когда создание экземпляра ф-ции происходит автоматически, когда встречается фактический вызов ф-ции.
Индивидуальные задания
Создать шаблон ф-ций сортирование одномерных массивов различными методами (на основе Лабораторной работы №16). Вызвать шаблоны ф-ций сортирования для массивов целочисленного и действительного метода.

Код лаби № 16

Код C++

#include<iostream.h>
#include<conio.h>
int main(){
const int n=3,m=3;
int i,j,count=0;
float matr[n][m]={1, 0, 1, 0, 1, 0, 1, 0, 1};
float mid=0;
for(i=0;i<n;++i,cout<<'\n')
for(j=0;j<m;++j){
mid+=matr[i][j];
cout<<matr[i][j]<<' ';}
mid/=(n * m);
for(i=0;i<n;++i)
for(j=0;j<m;++j)
if(!matr[i][j]){
count++;
matr[i][j]=mid;}
cout<<"\nRezyl'tat:\n";
for(i=0;i<n;++i, cout<<'\n')
for(j=0;j<m;++j)
cout<<matr[i][j]<<' ';
cout<<"\nKolicgestvo nylei:\n"<<count;
getch();
return 0;}
novi4ok
550 / 503 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
20.08.2009, 18:04     Шаблоны функций #3
Цитата Сообщение от gusca Посмотреть сообщение
тема: Шаблони функції

Помогите написпть код програми на Turbo C++
"помогите" не означає "напишiть за мене". ви пояснiть, що саме вам допомогти, тодi можна подивитись.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
20.08.2009, 18:27     Шаблоны функций #4
gusca, у тебя со зрением плохо???
Алгоритмы сортировок там есть
шаблони функцій сортування одномірних масивів різними методами
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.08.2009, 19:09     Шаблоны функций #5
В соответствии с правилами форума официальный язык - русский.
Yandex
Объявления
20.08.2009, 19:09     Шаблоны функций
Закрытая тема Создать тему
Опции темы

Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru