Практикум по объектно-ориентированному программированию на базе языка с++ Учебно-методическое пособие



Pdf көрінісі
бет33/44
Дата21.02.2024
өлшемі0.49 Mb.
#492719
түріПрактикум
1   ...   29   30   31   32   33   34   35   36   ...   44
ООП С

ЛАБОРАТОРНАЯ РАБОТА № 11. 
ШАБЛОНЫ, ШАБЛОННЫЕ КЛАССЫ И ФУНКЦИИ 
Ключевые словашаблон, template, класс-шаблон, вектор, конкре-
тизация, специализация. 
 
Цель: Познакомится с понятием шаблон, функции-шаблоны, шаб-
лоны классов и примерами использования. 
Механизм шаблонов предполагает решение, позволяющее отде-
лить общий алгоритм от его реализации применительно к конкретным
типам данных. Можно составить текст программы сейчас, а используе-
мые типы уточнять позднее. Это возможно, так как используемый тип 
данных является в этом случае параметром. Шаблоны сочетают в себе 
преимущества однократной подготовки фрагментов программы (анало-
гично макрокомандам) и контроль типов, присущий переопределяемым 
функциям. 
В языке С++ имеются два типа шаблонов – шаблоны функций
и шаблоны классов. 
Шаблонные функции предназначены для записи обобщенных 
функций, которые могут работать с данными различного типа, например, 
функции поиска минимума двух чисел. 
// Описание шаблона функции 
template  
X min (X a, X b) 

return a

Ключевое слово class в описании шаблона означает тип, иденти-
фикатор в списке параметров шаблона X означает имя любого типа.
В описании заголовка функции этот же идентификатор означает тип воз-
вращаемого функцией значения и типы параметров функции. 
// Использование шаблона функции 
int m = min (1, 2); 
// Экземпляр шаблона функции породит, сгенерированный компилятором 
int min (int a, int b) 

return a

58 
В списке параметров шаблона слово class может также относится 
к обычному типу данных. Таким образом, список параметров шаблона 
 просто означает, что Т представляет собой тип, который будет 
задан позднее. Так как Т является параметром, обозначающим тип, шаб-
лоны иногда называют параметризованными типами. 


Достарыңызбен бөлісу:
1   ...   29   30   31   32   33   34   35   36   ...   44




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет