progs.biz  
Начало>C/C++>Основы C++>Урок 23
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

И. Портянкин. Swing. Эффектные пользовательские интерфейсы
И. Портянкин. Swing. Эффектные пользовательские интерфейсы
Заказать на Озоне



Яндекс-цитирования

C/C++
Урок 23. Пример шаблона функции

Вот еще конкретный пример на шаблон функции. Этот шаблон ищет в массиве определенный элемент и если такой элемент есть, то шаблон функции возвращает номер этого элемента, а если такой элемент не найден, то возвращается -1.

#include <iostream.h>
//Объявление шаблона функции.
template <class T>
int find(T *arr, T a, int n)
{
    for(int i=0; i<n; i++)
    {
        if(arr[i]==a)
        {
            return i;
        }
    }
    return -1;
}
void main()
{
    //Использование шаблона функции для целых.
    int z[4] = {5, 7, -2, 66};
    int res;
    res = find(z, 66, 4);
    cout<<res<<"\n"; //Выведется 3.
    //Использование шаблона функции для булевских.
    bool b[3] = {true, true, true};
    res = find(b, false, 3);
    cout<<res<<"\n"; //Выведется -1.
}

У нашего шаблона 3 параметра: первый - это массив, в котором мы ищем наш элемент (помните, что имя массива - это указатель на нулевой элемент массива, поэтому мы и пишем T *arr), второй параметр шаблона - это искомый элемент, и третий - количество элементов в массиве.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев