Void main(). Результат роботи програми:
{
List L;
L.add(5);
L.add(4);
L.insert(5,25);
L.insert(25,100);
L.print();
L.print_back();
L.remove(25);
L.print();
return;
}
Результат роботи програми:
list 5 25 100 4
list back 4 100 25 5
list 5 100 4
8.7 Створення шаблонів-класів
Клас List призначений для зберігання цілих чисел. Щоб зберігати в ньому дані будь-якого типу, потрібно описати цей клас як шаблон і передати тип в якості параметру.
Синтаксис опису шаблону:
template <опис_параметрів_шаблону> визначення_класу:
Параметри шаблону перераховуються через кому. В якості параметрів можуть використовуватися типи, шаблони і змінні.
Типи можуть бути як стандартними, так і визначеними користувачем. Для їх опису використовується ключове слово class. Усередині шаблону параметр типу може застосовуватися в будь-якому місці, де допустимо використовувати специфікацію типу, наприклад:
template <class Data> class List
{
Class Node
{
public:
Data d;
Node* next;
Node* prev;
Node (Data dat = 0)
{
d = dat;
next = 0;
prev = 0;
}
};
Клас Data можна розглядати як формальний параметр, на місце якого при компіляції буде підставлений конкретний тип даних. Для будь-яких параметрів шаблону можуть бути задані значення за умовчанням, наприклад:
template<class Т> class myarray {/*..*/};
...
template<class K,class V,tempiate<class T>class С=myarray>
Дата добавления: 2014-12-26; просмотров: 631;