Konstruktorlar Konstruktorlar bu maxsus sinf a'zolari bo'lib, ular har safar ushbu sinf ob'ekti yaratilganda kompilyator tomonidan chaqiriladi. Konstruktorlar sinf bilan bir xil nomga ega va ehtimol sinf ta'rifi ichida yoki tashqarisida aniqlangan. Konstruktorlarning 3 turi mavjud:
Standart konstruktorlar
Parametrlangan konstruktorlar
Konstruktorlarni nusxalash
#include using namespace std; class Geeks { public: int id; //Standart konstruktor Geeks() { cout << " Standart Konstruktor chaqirildi " << endl; id=-1; } // Parametrlangan konstruktor Geeks(int x) { cout << " Parametrlangan Konstruktor chaqirildi " << endl; id=x; } }; int main() { // obj1 Standart Konstruktorga chaqiradi Geeks obj1; cout << " Geek id: " < // obj1 Parametrlangan konstruktorni chaqiradi Geeks obj2(21); cout << "Geek id : " < return 0; } Natija: Standart Konstruktor chaqirildi Geek id: -1 Parametrlangan Konstruktor chaqirildi Geek id: 21 Destruktor Destruktor - bu ob'ektning ko'lami tugagandan so'ng kompilyator tomonidan chaqiriladigan yana bir maxsus a'zoning funktsiyasi. #include using namespace std; class Geeks { public: int id; // Destructor uchun ta'rif ~Geeks() { cout << " Destructor id ni chaqirdi: " << id < } }; int main() { Geeks obj1; obj1.id=7; int i = 0; while ( i < 5 ) { Geeks obj2; obj2.id=i; i++; } // Obj2 doirasi shu erda tugaydi
return 0; } // Obj1 doirasi shu erda tugaydi Kod qismi: #include using namespace std; int main()//Fibonachi sonlari { int num1 = 0; int num2 = 1; int num_next = 1; int n; cout << "nechta fibonachi sonni ko'rishni istaysiz: "< cin >> n; if (n>=1) cout << 0 << " "; if (n>=2) cout << 1 << " "; for (int i = 0; i < n-2; i++){ num_next = num1 + num2; cout << num_next << " "; num1 = num2; num2 = num_next; } cout << endl; return 0; }
2- qism:
#include using namespace std; int fact(int k) { if (k==1) return 1; else return k * fact(k-1);} int main() { int n; cout << "Faktorial topmoqchi bo'lgan sonni kiriting: "; cin>>n; cout< return 0; }