Void main(). myfunc(10,"Hello");

{

myfunc(10,"Hello");

myfunc(5.15,13L);

}

 

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

 

x = 10 y = Hello

x = 5.15 y = 13

 

У даному прикладі при генерації конкретних екземплярів функції myfunc(), типи даних type1 та type2 замінюються компілятором на типи даних int та char* або double та long відповідно.

8.6Загальні відомості шаблонів класів

Шаблони класів надають можливість створювати класи, які параметризуються. Клас, який параметризується, створює сімейство споріднених класів, які можна застосовувати до будь-якого типу даних, передаваного як параметр. Найбільш широке застосування шаблони знаходять при створенні контейнерних класів. Контейнерним називається клас, який призначений для зберігання яким-небудь чином організованих даних і роботи з ними. Стандартна бібліотека C++ містить безліч контейнерних класів для організації структур даних різного вигляду (вони описані в розділі "Контейнерні класи").

Перевага використання шаблонів полягає в тому, що як тільки алгоритм роботи з даними визначений і відлагоджений, він може застосовуватися до будь-яких типів даних без переписування коду.

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

Для засвоєння матеріалу доцільно розглянути версію класу, який не параметризується, "список".

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

 








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


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

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

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

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