Void main(). cout<<"a = "<<a<<" b = "<<b<<"\n";

{

int a, b;

a = 5; b = 10;

double x, y;

x = 5.8; y = 10.27;

 

cout<<"a = "<<a<<" b = "<<b<<"\n";

cout<<"x = "<<x<<" y = "<<y<<"\n";

 

swap1(a, b); //обмін цілих чисел

swap1(x, y); //обмін дійсних чисел

 

cout<<"a = "<<a<<" b = "<<b<<"\n";

cout<<"x = "<<x<<" y = "<<y<<"\n";

}

 

Результат виконання програми наступний:

 

a = 5 b = 10

x = 5.8 y = 10.27

a = 10 b = 5

x = 10.27 y = 5.8

 

Ключове слово template використовується для визначення родової функції. Рядок:

 

template <class A> void swap1(A&x, A&y)

 

повідомляє компілятору дві речі: по-перше, створюється шаблон, та по-друге, починається визначення родової функції. Тут A – родовий тип даних. Після рядка з ключовим словом template функція swap() оголошується з типом даних A значень, що обмінюються. У функції main() функція swap1() викликається з двома різними типами даних: цілими та дійсними. Оскільки функція swap1() – родова функція, компілятор автоматично створює дві її версії: одну для обміну цілих значень, іншу для обміну дійсних значень.

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

#include <iostream>

using namespace std;

 

//Функція-шаблон

template <class type1, class type2>








Дата добавления: 2014-12-26; просмотров: 619;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.