C++ funksiyalari
Funksiya ma'lum bir vazifani bajaradigan kod blokidir.
Aylana hosil qilish va uni ranglash uchun dastur yaratishimiz kerak deylik. Ushbu muammoni hal qilish uchun ikkita funksiyani yaratishimiz mumkin:
Murakkab masalani kichikroq bo'laklarga bo'lish bizning dasturimizni tushunishni osonlashtiradi va qayta foydalanishga imkon beradi.
Funksiyaning ikki turi mavjud:
Ushbu qo'llanmada biz asosan foydalanuvchi tomonidan belgilangan funksiyalarga e'tibor qaratamiz.
C++ dasturchiga o'z funksiyasini belgilash imkonini beradi.
Foydalanuvchi tomonidan aniqlangan funksiya ma'lum bir vazifani bajarish uchun kodlarni guruhlarga ajratadi va bu kod guruhiga nom (identifikator) beriladi.
Funksiya dasturning istalgan qismidan chaqirilganda, uning barchasi funksiya tanasida aniqlangan kodlarni bajaradi.
Funksiyani e'lon qilish sintaksisi:
returnType functionName (parameter1, parameter2,...) {
// funksiya tanasi
}
Mana, funksiya deklaratsiyasiga misol.
// funksiya deklaratsiyasi
void greet() {
cout << "Hello World";
}
Bu yerga,
-funksiyaning nomi greet()
-funksiyaning qaytish turi void
{} ichida yozilgan[!NOTE] We will learn about
returnTypeandparameterslater in this tutorial.
Yuqoridagi dasturda biz greet() nomli funksiyani e'lon qildik. greet() funksiyasidan foydalanish uchun biz uni chaqirishimiz kerak.
Yuqoridagi greet() funksiyasini qanday chaqirishimiz mumkin.
int main() {
// funksiyani chaqirish
greet();
}
How Function works in C++

#include <iostream>
using namespace std;
// funksiyani e'lon qilish
void greet() {
cout << "Hello there!";
}
int main() {
// funksiyani chaqirish
greet();
return 0;
}
Chiqish
Hello there!
Yuqorida aytib o'tilganidek, funksiyani parametrlar (argumentlar) bilan e'lon qilish mumkin. Parametr - bu funksiyani e'lon qilishda uzatiladigan qiymat.
Masalan, quyidagi funksiyani ko'rib chiqaylik:
void printNum(int num) {
cout << num;
}
Bu erda int o'zgaruvchisi num funksiya parametridir.
Funksiyani chaqirayotganda funksiya parametriga qiymat o'tkazamiz.
int main() {
int n = 7;
// funksiyani chaqirish
// n funksiyaga argument sifatida uzatiladi
printNum(n);
return 0;
}
// matnni chop etish uchun dastur
#include <iostream>
using namespace std;
// raqamni ko'rsatish
void displayNum(int n1, float n2) {
cout << "The int number is " << n1;
cout << "The double number is " << n2;
}
int main() {
int num1 = 5;
double num2 = 5.5;
// funksiyani chaqirish
displayNum(num1, num2);
return 0;
}
Chiqish
The int number is 5
The double number is 5.5
Yuqoridagi dasturda biz bitta int parametri va bitta double parametriga ega funksiyadan foydalandik.
Keyin argument sifatida 1 va 2 raqamlarini beramiz. Bu qiymatlar mos ravishda n1 va n2 funksiya parametrlari tomonidan saqlanadi.
C++ function with parameters

[!NOTE] Funksiyani chaqirishda uzatiladigan argumentlar turi funksiya deklaratsiyasida belgilangan mos parametrlarga mos kelishi kerak.
Yuqoridagi dasturlarda biz funksiya deklaratsiyasida void dan foydalanganmiz. Masalan,
void displayNumber() {
// kod
}
Bu funksiya hech qanday qiymat qaytarmasligini anglatadi.
Funksiyadan qiymatni qaytarish ham mumkin. Buning uchun funksiya deklaratsiyasida funksiyaning returnType ni ko'rsatishimiz kerak.
Keyin funksiyadan qiymat qaytarish uchun return operatoridan foydalanish mumkin.
Masalan,
int add (int a, int b) {
return (a + b);
}
Bu erda bizda void o'rniga data type int mavjud. Bu funksiya int qiymatini qaytarishini bildiradi.
return (a + b); kodi funksiya qiymati sifatida ikkita parametr yig'indisini qaytaradi.
return operatori funksiya tugaganligini bildiradi. Funksiya ichidagi return dan keyin hech qanday kod bajarilmaydi.
// funksiya yordamida ikkita raqam qo'shish dasturi
#include <iostream>
using namespace std;
// funksiyani e'lon qilish
int add(int a, int b) {
return (a + b);
}
int main() {
int sum;
// funksiyani chaqirish va saqlash
// qaytarilgan qiymat summasi
sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
Chiqish
100 + 78 = 178
Yuqoridagi dasturda add() funksiyasi ikkita sonning yig'indisini topish uchun ishlatiladi.
Funksiyani chaqirishda biz ikkita int literalini 100 va 78 dan o'tkazamiz.
Funksiyaning qaytarilgan qiymatini sum o'zgaruvchisida saqlaymiz va keyin uni chop qilamiz.
C++ funksiyasining return operatori bilan ishlashi

E'tibor bering, sum int tipidagi o'zgaruvchidir. Buning sababi, add() ning qaytish qiymati int turiga tegishli.
C++ da funksiya deklaratsiyasining kodi funksiya chaqiruvidan oldin bo'lishi kerak. Ammo, agar funksiya chaqiruvidan keyin funksiyani aniqlamoqchi bo'lsak, biz funksiya prototipidan foydalanishimiz kerak. Masalan,
#include <iostream>
using namespace std;
// funksiya prototipi
void add(int, int);
int main() {
// deklaratsiyadan oldin funksiyani chaqirish.
add(5, 3);
return 0;
}
// funksiya ta'rifi
void add(int a, int b) {
cout << (a + b);
}
Yuqoridagi kodda funksiya prototipi:
void add(int, int);
Bu kompilyatorga funksiya nomi va uning parametrlari haqida ma'lumot beradi. Shuning uchun funksiya aniqlanmasidan oldin funksiyani chaqirish uchun koddan foydalanishimiz mumkin.
Funksiya prototipining sintaksisi:
returnType functionName(dataType1, dataType2, ...);
// main() funksiyasidan keyin funksiya ta'rifidan foydalanish
// funksiya prototipi main() dan oldin e'lon qilinadi
#include <iostream>
using namespace std;
// funksiya prototipi
int add(int, int);
int main() {
int sum;
// funksiyani chaqirish va saqlash
// qaytarilgan qiymat summasi
sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
// funksiya ta'rifi
int add(int a, int b) {
return (a + b);
}
Chiqish
100 + 78 = 178
Yuqoridagi dastur 3-misol bilan deyarli bir xil. Yagona farq shundaki, bu yerda funksiya funksiya chaqiruvidan keyin aniqlanadi.
Shuning uchun biz ushbu misolda funksiya prototipidan foydalandik.
Kutubxona funksiyalari C++ dasturlashda o‘rnatilgan funksiyalardir.
Dasturchilar kutubxona funksiyalaridan bevosita funksiyalarni chaqirish orqali foydalanishlari mumkin; funksiyalarni o'zlari yozishlari shart emas.
C++ tilidagi baʼzi bir umumiy kutubxona funksiyalari sqrt() , abs() , isdigit() va boshqalardir.
Kutubxona funksiyalaridan foydalanish uchun biz odatda ushbu kutubxona funksiyalari aniqlangan sarlavha faylini kiritishimiz kerak.
Masalan, sqrt() va abs() kabi matematik funksiyalardan foydalanish uchun biz cmath sarlavha faylini kiritishimiz kerak.
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double number, squareRoot;
number = 25.0;
// sqrt() kvadrat ildizni hisoblash uchun kutubxona funksiyasidir
squareRoot = sqrt(number);
cout << "Square root of " << number << " = " << squareRoot;
return 0;
}
Chiqish
Square root of 25 = 5
Bu dasturda sqrt() kutubxona funksiyasi sonning kvadrat ildizini hisoblash uchun ishlatiladi.
sqrt() funksiya deklaratsiyasi cmath sarlavha faylida aniqlangan. Shuning uchun sqrt() funksiyasidan foydalanish uchun #include <cmath> kodidan foydalanishimiz kerak.
Shuningdek o'qing: