🗊Презентация Шаблоны функций

Нажмите для полного просмотра!
Шаблоны функций, слайд №1Шаблоны функций, слайд №2Шаблоны функций, слайд №3Шаблоны функций, слайд №4Шаблоны функций, слайд №5Шаблоны функций, слайд №6Шаблоны функций, слайд №7Шаблоны функций, слайд №8Шаблоны функций, слайд №9Шаблоны функций, слайд №10Шаблоны функций, слайд №11Шаблоны функций, слайд №12Шаблоны функций, слайд №13Шаблоны функций, слайд №14Шаблоны функций, слайд №15

Вы можете ознакомиться и скачать презентацию на тему Шаблоны функций. Доклад-сообщение содержит 15 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Шаблоны функций
Описание слайда:
Шаблоны функций

Слайд 2





Шаблон функции представляет собой обобщенное определение функции, из которого компилятор автоматически создает представитель функции  для заданного пользователем типа (или типов) данных. 
Шаблон функции представляет собой обобщенное определение функции, из которого компилятор автоматически создает представитель функции  для заданного пользователем типа (или типов) данных.
Описание слайда:
Шаблон функции представляет собой обобщенное определение функции, из которого компилятор автоматически создает представитель функции для заданного пользователем типа (или типов) данных. Шаблон функции представляет собой обобщенное определение функции, из которого компилятор автоматически создает представитель функции для заданного пользователем типа (или типов) данных.

Слайд 3





Синтаксис объявления шаблона функции имеет следующий вид:
Синтаксис объявления шаблона функции имеет следующий вид:
Template <class T1|T1 идент1,   class T2|T2 идент2,   class Tn|Tn идент n> 
 Возвр_тип имя_функции (список параметров)
{
//Тело функции
}
Описание слайда:
Синтаксис объявления шаблона функции имеет следующий вид: Синтаксис объявления шаблона функции имеет следующий вид: Template <class T1|T1 идент1, class T2|T2 идент2, class Tn|Tn идент n> Возвр_тип имя_функции (список параметров) { //Тело функции }

Слайд 4





#include <iostream>
#include <iostream>
using namespace std;
template <class T>
T Sqr(x)
{
return x*x;
}
Описание слайда:
#include <iostream> #include <iostream> using namespace std; template <class T> T Sqr(x) { return x*x; }

Слайд 5





template <class T>
template <class T>
T* Swap(T* t, int ind1, int  ind2)
{
T tmp=t[ind1];       // t строчные 
T[ind1]= t[ind2];
T[ind2]=t[ind1];
Return t;
}
Описание слайда:
template <class T> template <class T> T* Swap(T* t, int ind1, int ind2) { T tmp=t[ind1]; // t строчные T[ind1]= t[ind2]; T[ind2]=t[ind1]; Return t; }

Слайд 6





template <typename T1, typename T2>
template <typename T1, typename T2>
void Display( T1 x,  T2 y)
{
cout.width(8);
cout<<x<<’ ‘;
cout.width(8);
cout<<y<<endl;
}
Описание слайда:
template <typename T1, typename T2> template <typename T1, typename T2> void Display( T1 x, T2 y) { cout.width(8); cout<<x<<’ ‘; cout.width(8); cout<<y<<endl; }

Слайд 7





template<class T, int offset>
template<class T, int offset>
void GetAddres(T* obj, unsigned int *pAddr)
{
*pAddr=(unsigned int)&obj[0]+offset*sizeof(T);
}
Описание слайда:
template<class T, int offset> template<class T, int offset> void GetAddres(T* obj, unsigned int *pAddr) { *pAddr=(unsigned int)&obj[0]+offset*sizeof(T); }

Слайд 8





int main()
int main()
{
int n=10,sq_n,  i=2, j=5;
double d=10.21, sq_d;
char* str=” Шаблон”;
sq_n=Sqr(n);
sq_d=Sqr (d);
int Arr[100];
unsigned int addr=0;
Описание слайда:
int main() int main() { int n=10,sq_n, i=2, j=5; double d=10.21, sq_d; char* str=” Шаблон”; sq_n=Sqr(n); sq_d=Sqr (d); int Arr[100]; unsigned int addr=0;

Слайд 9





cout<<”значение n=”<<n<<endl<<”его квадрат=”
cout<<”значение n=”<<n<<endl<<”его квадрат=”
<<sq_n<<endl;
cout<<”Значение d=”<<d<<endl
<<”Его квадрат=”<<sq_d<<endl;
cout<<”Исходная строка=’ “<<str<<” ’ “<<endl;
cout<<”Преобразованная строка =’ “ <<Swap (str,I,j) << “ ‘ “<<endl;
Описание слайда:
cout<<”значение n=”<<n<<endl<<”его квадрат=” cout<<”значение n=”<<n<<endl<<”его квадрат=” <<sq_n<<endl; cout<<”Значение d=”<<d<<endl <<”Его квадрат=”<<sq_d<<endl; cout<<”Исходная строка=’ “<<str<<” ’ “<<endl; cout<<”Преобразованная строка =’ “ <<Swap (str,I,j) << “ ‘ “<<endl;

Слайд 10





Display(n,d);
Display(n,d);
Display(sq_n,sq_d);
GetAddres< int , 5>(Arr,&addr);
Cout<<”Адрес элемента Arr[5]=”<<hex<<showbase<<upcase<<addr;
Return 0;
}
Описание слайда:
Display(n,d); Display(n,d); Display(sq_n,sq_d); GetAddres< int , 5>(Arr,&addr); Cout<<”Адрес элемента Arr[5]=”<<hex<<showbase<<upcase<<addr; Return 0; }

Слайд 11





Как и для обычных функций, можно создать прототип шаблона функции в виде его предварительного объявления. Например:
Как и для обычных функций, можно создать прототип шаблона функции в виде его предварительного объявления. Например:
Template<class T>
T* Swap (T* t, int ind1, int  ind2);
Имена параметров шаблонной функции в ее объявлении могут не совпадать.
Описание слайда:
Как и для обычных функций, можно создать прототип шаблона функции в виде его предварительного объявления. Например: Как и для обычных функций, можно создать прототип шаблона функции в виде его предварительного объявления. Например: Template<class T> T* Swap (T* t, int ind1, int ind2); Имена параметров шаблонной функции в ее объявлении могут не совпадать.

Слайд 12





ПЕРЕГРУЗКА ШАБЛОНОВ ФУНКЦИЙ
#include <iostream.h>
using namespace std;
//возвращает больший из двух параметров
template<class t>
const T&  max(const T& a, const T& b)
{
return a>b?a:b;
}
Описание слайда:
ПЕРЕГРУЗКА ШАБЛОНОВ ФУНКЦИЙ #include <iostream.h> using namespace std; //возвращает больший из двух параметров template<class t> const T& max(const T& a, const T& b) { return a>b?a:b; }

Слайд 13





//возвращает наибольший элемент массива
//возвращает наибольший элемент массива
template<class T>
const T max( T* a, size_t  size)
{
T* tmp=a;
For(int i=0;i<size;i++)
{ 
if (a[i]>*tmp)
*tmp=a[i];
}
return *tmp;
}
Описание слайда:
//возвращает наибольший элемент массива //возвращает наибольший элемент массива template<class T> const T max( T* a, size_t size) { T* tmp=a; For(int i=0;i<size;i++) { if (a[i]>*tmp) *tmp=a[i]; } return *tmp; }

Слайд 14





int main()
int main()
{
int m=9, n=12;
int arr[]={3,5,7,9};
cout<<”max int=”<<max(m,n)<<endl;
cout<<” max in arr=”<<max(arr,sizeof(arr)/sizeof(int))
<<endl;
return  0;
}
Описание слайда:
int main() int main() { int m=9, n=12; int arr[]={3,5,7,9}; cout<<”max int=”<<max(m,n)<<endl; cout<<” max in arr=”<<max(arr,sizeof(arr)/sizeof(int)) <<endl; return 0; }

Слайд 15





при выполнениии программа выводит на экран
при выполнениии программа выводит на экран
max int=12
max in arr=9
Описание слайда:
при выполнениии программа выводит на экран при выполнениии программа выводит на экран max int=12 max in arr=9



Похожие презентации
Mypresentation.ru
Загрузить презентацию