Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Достоинства и недостатки шаблонов



Шаблоны представляют собой мощное и эффективное средство обращения с различными типами данных, которое можно назвать параметрическим полиморфизмом, а также обеспечивают безопасное использование типов.

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

----------------------------------

Рассмотрим процесс создания шаблона класса «линейные списки». Поскольку списки часто применяются для организации данных, удобно описать список в виде класса, а так как может потребоваться хранить данные различных типов, этот класс должен быть параметризованным.

Сначала рассмотрим не параметризованную версию класса «двусвязанный линейный список».

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

class Node{

public:

int d; // Данные

Node *next; // Указатель на последующий узел

Node *prev; // Указатель на предыдущий узел

Node(int dat = 0){ // Конструктор

d = dat; next = 0; prev = 0;

}

};

Поскольку этот класс будет описан внутри класса, представляющего список, поля для простоты доступа из внешнего класса сделаны доступными (public).

Это позволяет обойтись без функций доступа и изменения полей. Назовем класс списка List:

class List{





Дата публикования: 2014-11-28; Прочитано: 252 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...