Шумо аз Ҳафтаи 1 функсияҳоро даъват мекунед: main, max, abs ва sqrt функсияҳо мебошанд. Ин ҳафта шумо функсияҳои худро менависед. Функсия порчаи код бо ном аст. Шумо онро як бор менависед ва баъд бо ном ҳар қадар хоҳед даъват мекунед. Барнома дигар як main-и дарози ягона нест: он ба чанд қисми хурд ҷудо мешавад, ки ҳар кадомаш як кор дорад.
Функсияи аввалини шумо
Инак функсияе, ки ададро ба квадрат мебардорад:
intпеш аз ном навъи баргарданда аст: функсияint-ро бармегардонад.squareноми функсия аст.(int x)параметр аст: тағйирёбанде, ки қимати даъватро мегирад.{ … }тана аст: коде, ки дар ҳар даъват иҷро мешавад.return x * x;даъватро тамом мекунад ва қиматро бармегардонад.
Навиштани функсия чизеро иҷро намекунад. Танаи он вақте иҷро мешавад, ки касе онро даъват кунад:
Дар square(7) қимати 7 аргумент аст. Ҳангоми даъват параметри x сохта мешавад ва қимати 7-ро мегирад. Тана 49-ро ҳисоб мекунад ва return 49-ро ба ҷойи даъват бармегардонад. Пас square(7) дар он ҷо танҳо ба 49 табдил меёбад. Параметрҳо тағйирёбандаҳои дар таъриф мебошанд. Аргументҳо қиматҳои дар як даъвати мушаххас мебошанд.
Дар куҷо гузоштан. C++ парвандаро аз боло ба поён мехонад ва функсия бояд пеш аз сатре, ки онро даъват мекунад, маълум бошад. Функсияҳои худро болотар аз main нависед.
Се адади бутунро хонед ва бузургтаринашонро чоп кунед.
Вуруд
Баромад
bigger ду параметр дорад, ки бо вергул ҷудо шудаанд. Ҳар даъват бояд дақиқан ҳамон қадар аргумент диҳад, бо ҳамин тартиб.
Ҳангоми даъват чӣ мешавад
Вақте ки main ба даъват мерасад, таваққуф мекунад. Функсия бо параметрҳои комилан нав оғоз мешавад, ки бо қиматҳои аргументҳо пур шудаанд, ва то return кор мекунад. Баъд тағйирёбандаҳои он нест мешаванд ва main кори худро идома медиҳад, бо қимати баргардонидашуда ба ҷойи даъват. Даъвати оянда аз сифр оғоз мешавад: чизе дар ёд намемонад.
bigger(bigger(3, 9), 5)-ро қадам ба қадам гузаред ва ба стеки даъватҳо назар кунед, рӯйхати даъватҳое, ки оғоз шудаанд ва ҳанӯз тамом нашудаанд. Даъвати дохилӣ аввал иҷро мешавад ва ҷавоби он аргументи даъвати берунӣ мешавад.