КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Шаблони функцій
Перевантаження функцій. Локальні та глобальні змінні План 1. Класи пам’яті. 3. ПЕРЕВАНТАЖЕННЯ ФУНКЦІЙ_______________________________________________________
Приклад: Використовуючи перевантаження функції, скласти програму для упорядкування трьох уведених даних або символьного, або цілого типу. #include <iostream.h> void Sort(int n1, int n2, int n3); void Sort(char n1, char n2, char n3); void main(); { int i1, і2, і3, k; char c1,c2, c3; cout << "Уведіть 1 для впорядкування символів, 2 - для чисел \n'; сіn >> k; if (k==1) { cout << "Уведіть три символи"; сіn >> с1 >> с2 >> с3; Sort(c1, с2, с3); } if (k==2) { cou t << "Уведіть три числа"; сіn >> і1 >> і2 >> і3; Sort(і1, і2, і3); } } //------------------------------------------------------------------------------------- void Sort(int n1, int n2, int nЗ) { int c; if (n1>n2) {c = n1; n1=n2; n2 = c;} if (n2>n3) {с =n2; n2 =n3; n3 = с;} if (n1>n2) {c = n1; n1=n2; n2 = c;} cout << n1 << "\t" << n2 << "\t << n3; } //------------------------------------------------------------------------------------- void Sort(char n1, char n2, char n3) { char c; if (n1>n2) {c = n1; n1=n2; n2 = c;} if (n2>n3) {с =n2; n2 =n3; n3 = с;} if (n1>n2) {c = n1; n1=n2; n2 = c;} cout << n1 << "\t" << n2 << "\t << n3; }
4. ШАБЛОНИ ФУНКЦІЙ_______________________________________________________________ Шаблон функції – це опис функції, яка залежить від даних довільного типу. Під час виклику такої функції компілятор автоматично проаналізує тип фактичних аргументів, згенерує для них програмний код. Це називається неявним створенням екземпляра шаблона. Синтаксис шаблону функції можна описати так:
У списку формальних параметрів можуть бути присутні лише параметри узагальнюючих типів. Якщо шаблон описаний перед головною програмою, то він, як і звичайна функція, оголошення не потребує. Підхід у програмуванні, що грунтується на використанні шаблонів функцій називається узагальнюючим програмуванням. Приклад: Переробимо програму із попереднього прикладу для упорядкування трьох введених заздалегідь невідомого типу, використовуючи шаблони.
#include<iostream.h> #include<conio.h> template <class Mytype> //Оголошення void sorting(Mytype n1,Mytype n2, Mytype n3); //шаблону void main() { clrscr(); int i1, і2, і3, k; char c1,c2, c3; cout<<"Введіть 1 для впорядкування символів, 2 - чисел: "; cin>>k; if (k==1) { cout << "Уведіть три символи"; сіn >> с1 >> с2 >> с3; Sort(c1, с2, с3); } if (k==2) { cou t << "Уведіть три числа"; сіn >> і1 >> і2 >> і3; Sort(і1, і2, і3); } getch(); } //-------------------------------------------------------------- template <class Mytype> // Опис шаблону void sort(Mytype n1, Mytype n2,Mytype n3) { Mytype c; if (n1>n2) {c = n1; n1=n2; n2 = c;} if (n2>n3) {с =n2; n2 =n3; n3 = с;} if (n1>n2) {c = n1; n1=n2; n2 = c;} cout << n1 << "\t" << n2 << "\t << n3; }
Дата добавления: 2014-01-07; Просмотров: 547; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |