Funksiya e'loniga misol: double square(char, bool); float average(int a, int b, int c); Funksiya e'lonlarda kirish parametrlarining faqat tipi yozish kifoya, huddi square() funksiyasidek. Yoki kiruvchi parametrlarning nomi ham berilishi mumkin, bu nomlar kompilyator tarafidan etiborga olinmaydi, biroq dasturning o'qilishini ancha osonlashtiradi. Bulardan tashqari C++ da funksiya imzosi (function signature) tushunchasi bor. Funksiya imzosiga funksiya nomi, kiruvchi parametrlar tipi, soni, ketma-ketligi kiradi. Funksiyadan qaytuvchi qiymat tipi imzoga kirmaydi.
int foo(); //No1
int foo(char, int); //No2
double foo(); //No3 - No1 funksiya bilan imzolari ayni.
void foo(int, char); //No4 - No2 bilan imzolari farqli.
char foo(char, int); //No5 - No2 bilan imzolari ayni.
int foo(void); //No6 - No1 va No3 bilan imzolari ayni,
Yuqoridagi misolda kirish parametrlari bo'lmasa biz () qavsning ichiga void deb yozishimiz mumkin (No6 ga qarang). Yoki () qavslarning quruq o'zini yozaversak ham bo'ladi (No1 ga qarang). Yana bir tushuncha - funksiya chaqirig'idir. Dasturda funksiyani chaqirib,qo'llashimiz uchun uning chaqiriq ko'rinishini ishlatamiz. () qavslari funksiya chaqirig'ida qo'llaniladi. Agar funksiyaning kirish argumentlari bo'lmasa, () qavslar bo'sh holda qo'llaniladi. Aslida () qavslar C++ da operatorlardir. Funksiya kirish parametrlarini har birini ayri-ayri yozish kerak, masalan yuqoridagi
float average(int a, int b, int c); funksiyasini float average(int a,b,c); // Hato! deb yozishimiz hatodir.
3.Rekursiv funksiyalar
Funksiya o'z – o'zini chaqirishi rekursiya deyiladi. U ikki xil – to'g'ri rekursiya va bilvosita rekursiya bo'lishi mumkin. Agarda funksiya o'zini o'zi chaqirsa bu to'g'ri rekursiya deyiladi. Agarda funksiya boshqa bir funktsiyani chaqirsa va u funksiya o'z navbatida birinchisini chaqirishi esa bilvosita rekursiya deyiladi.
C++ dasturlash tilida funksiyalar o`z – o`zini chaqirish imkoniyatiga ega. Bunday funksiyalar rekursiyali (o`z – o`zini chaqiruvchi) funksiya deyiladi.
Rekursiyali funksiyalarga qo`yiladigan asosiy talab, qandaydir qiymatda rekursiya 0- yolg`on yoki 1-rost qiymat qabul qilishi kerak. Shundagina chaqirilgan funksiyalar
qaytadi. Aks holda funksiya o`z – o`zini davomli ravishda chaqiradi va xatolik sodir bo’ladi.