Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет210/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   206   207   208   209   210   211   212   213   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

template class List{ 
class Node{ 
public: 
Data d; 
Node *next; 
Node *prev; 
Node(Data dat
 
=
 
0){d
 
=
 
dat; next
 
=
 
0; prev
 
=
 
0;}
};
...
}
Data
класын формалды параметр ретінде қарастыруға болады, компиля-
ция кезінде оның орнына нақты көрсетілген мəліметтер типі қойылады.
Шаблонның кез келген параметрлері үшін келісім бойынша мəндер 
тағайындауға болады, мысалы:
template class myarray { /* ... */ };
...
template
 
K,
 
class
 
V,
 
template
 
class
 
С
 
=
 
myarray> 
class Map{
C key;


233
C value;
...
};
Шаблон параметрінің əрекет ету аймағы оның сипатталу нүктесінен бастап 
шаблонның соңына дейінгі кеңістік болады, сондықтан параметрді одан кейін 
орналасқан параметрлерді сипаттау кезінде де қолдануға болады, мысалы:
template class X { /*...*/};
Класс шаблонының əдістері автоматты түрде функция шаблондарына ай-
налады. Егер əдіс шаблоннан тыс сипатталса, онда оның тақырыбында келесі 
элементтер болуы тиіс: 
template <шаблон_параметрлерінің_сипаттамасы>
қайт_тип класс_атауы <шаблон_параметрлері >:: 
функция_атауы (функцияның параметрлер_тізімі)
Функцияның тақырыбындағы шаблон параметрлерінің сипаттамасы 
класс шаблонына сəйкес болуы керек, мұнда параметрлердің атаулары бірдей 
болмауы мүмкін. Шаблон əдістерінің сипатталу синтаксисін мысал арқылы 
қарастырған жеңіл болады:


Достарыңызбен бөлісу:
1   ...   206   207   208   209   210   211   212   213   ...   466




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

    Басты бет