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



Pdf көрінісі
бет86/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   82   83   84   85   86   87   88   89   ...   465
Байланысты:
аибм сплюс

template void f(Y, Z); 
void g(){
f("Vasia", 3.0);
f("Vasia", 3.0); /* Z класы double 
ретінде анықталады */
f("Vasia", 3.0); /* Y класы char* ретінде, aл Z 
класы double ретінде анықталады */
/* f("Vasia", 3.0); қате: Х класын анықтау мүмкін
емес */
}
Шаблон-функцияны қолданушы анықтайтын мəліметтер типіне 
(құрылымға немесе класқа) пайдалану үшін функцияда қолданылатын осы тип 
үшін анықталған операцияларды асыра жүктеу қажет болады (операциялардың 
асыра жүктелуі туралы 205 б. қараңыз).
Қарапайым функциялар сияқты, функциялардың шаблондары да шаблон-
дар көмегімен немесе қарапайым функциялар арқылы асыра жүктелуі мүмкін
Жеке параметрлер мен типтер үшін функция шаблонының специализациясы 
арқылы арнайы өңдеуді енгізуге болады. Бүтін сандар үшін жалпы сұрыптау 
алгоритмін тиімдірек түрде жүзеге асыру қажет болсын делік. Мұндайда бүтін 
сандармен жұмыс істейтін функция шаблонының нұсқасын өзіміз «қолдан» 
бере аламыз:
1
Шаблондардың параметрлері туралы «Класс шаблондары» бөлімінде, 228 б. толығырақ айтылған.


91
void sort_vibor(int *b, int n){
... // Функцияның арнайы нұсқасының тұлғасы
}
Функция шаблоны сигнатурасының құрамында тек оның типі мен 
параметрлерінің типі ғана емес, шаблонның нақты аргументі де болады. 
Қарапайым функцияның атауы жəне қайтаратын мəнінің типі шаблонмен 
бірдей болуына қарамастан, ол ешқашанда шаблон специализациясы болып 
есептелмейді. 
Асыра жүктеу мен функциялар шаблондарын практикумның [11] сегізінші 
семинарынан қараңыз. 
main() функциясы 
Программаны іске қосқаннан кейін басқару берілетін функцияның аты 
main
болуы тиіс. Ол өзін шақырған жүйеге мəн қайтара алады жəне сыртқы 
ортадан параметрлер қабылдай алады. Қайтарылатын мəн бүтін типті болу ке-
рек. Стандарт бойынша функцияның екі форматы қарастырылған:


Достарыңызбен бөлісу:
1   ...   82   83   84   85   86   87   88   89   ...   465




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

    Басты бет