С++ - язык, который изучается постепенно.Параметизированные функции классов.
                   Справочники Всё для создания сайта

Ссылки


Home
Бизнес
Справочники
Советы







Материалы книги получены с http://www.itlibitum.ru/

Параметризованные функции классов

Параметризованные функции классов определяются так же (разве что вам понадобится больше угловых скобок < и >). Давайте модифицируем класс ListNode так, чтобы его функции не определялись при объявлении класса.

template <class Type>

class ListNode {

private:

ListNode<Type*> next;

Type* data;

public:

ListNode(Type* d, ListNode<Type>* n = NULL);

~ListNode();

Type* Data();

ListNode<Type>* Next();

};

template <class Type>

ListNode<Type>::ListNode(Type* d, ListNode<Type>* n = NULL)

: next(n), data(d)

{

}

template <class Type>

ListNode<Type>::~ListNode()

{

delete next;

}

template <class Type>

Type* ListNode<Type>::Data()

{

return data;

}

template <class Type>

ListNode<Type>* ListNode<Type>::Next()

{

return next;

}

Помните: все это должно находиться в файле .h. Исключение составляют ситуации, когда функции класса вызываются только из файла .срр, в котором они определяются. В этом случае определения функций класса должны предшествовать их первому использованию.


Назад    Содержание    Далее    

Home  Создание сайтов  Учебник по записи CD  Справочник Web дизайнера Самоучитель IE PHP и MySQL Компьютерные сети С++ E-mail me

Copyright 2007. Климов Александр. All Right Reserved.
Hosted by uCoz