Мұның терең мағынасын іздеудің қажеті жоқ – мысал синтаксисті көрсету үшін берілген.
239
~Block(){delete [] p;}
operator int *();
protected:
int * p;
};
Block::operator int *(){
return p;
}
Block
шаблонының даналарын (экземплярларын)
int
жəне 100
параметрлері арқылы анықтау кезінде специализацияланған нұсқа іске
қосылады.
Шаблондардың артықшылықтары мен кемшіліктері
Шаблондар əртүрлі мəліметтер типтерімен жұмыс істеудің қуатты əрі
тиімді құралы болып табылады, оны басқаша параметрлі полиморфизм деп
те атауға болады. Сонымен қатар, шаблондар препроцессор макростары-
на қарағанда, типтерді қауіпсіз қолдануды қамтамасыз етеді. Шаблондарды
қолданатын программада əрбір туынды тип үшін толық код болатынын еске-
ру керек, бұл орындалатын файлдың көлемін арттыруы мүмкін. Сонымен
қатар, кейбір мəліметтер типтерімен шаблондар басқа типтерге қарағанда
айтарлықтай тиімді жұмыс жасамауы мүмкін. Мұндайда шаблонның специ-
ализациясын қолданған жөн.
C++ стандартты кітапханасы мəліметтерді сақтау мен өңдеуді
ұйымдастырудың əртүрлі тəсілдеріне арналған шаблондардың үлкен
жиынтығы болып келеді («Контейнерлік кластар» бөлімін, 318 б. қараңыз).
Класс шаблондары практикумның [12] үшінші семинарында түпкілікті
қарастырылған.