To‘plam o‘zgarmaslari. Bunday o‘zgarmaslarni hosil qilish uchun yangi berilgan ma'lumotlar tiplari tuziladi va undan so‘ng bu tipga tegishlio‘zgarmasli qiymatlar to‘plami bilan chegaralangan o‘zgaruvchilar aniqlanadi. Sanovchi konstantalar enum xizmatchi so‘zi yordamida kiritilib, int tipidagi sonlarga qulay so‘zlarni mos qo‘yish uchun ishlatiladi.
Misol uchun: enum{one=1,two=2,three=3};
Agar son qiymatlari ko‘rsatilmagan bo‘lsa eng chapki suzga 0 qiymati berilib kolganlariga tartib bo‘yicha usuvchi sonlar mos quyiladi:
enum{zero,one,two};
Bu misolda avtomatik ravishda konstantalar quyidagi qiymatlarni qabul qiladi:
zero=0, one=1, two=2;
Konstantalar aralash ko‘rinishda kiritilishi xam mumkin:
Enum(zero,one,for=4,five,seeks}.
Bu misolda avtomatik ravishda konstantalar quyidagi qiymatlarni qabul qiladi:
zero=0, one=1, for=4;five=5,seeks=6;
Sanoqli tiplarni hosil qilish uchun enum kalitli so‘zi va undan keyin tip nomi hamda figurali qavs ichida vergullar bilan ajratilgan o‘zgarmas qiymatlari ro‘yxati ishlatiladi
2. C ++ tilidagi konstruktor - bu maxsus ob'ekt bo'lib, u sinf ob'ekti yaratilganda avtomatik ravishda chaqiriladi. Konstruktor yaratish uchun sinf bilan bir xil nomdan foydalaning, so'ngra qavslar bilan yoziladi ():
#include using namespace std;
class MyClass { // bu class
public: // Kirish spetsifikatori MyClass() { // Constructor
cout << "Hello World!";
}
};
int main() {
MyClass myObj; // MyClass ob'ektini yarating (bu konstruktorni chaqiradi)
return 0;
}
Eslatma: Konstruktor klass bilan bir xil nomga ega, u doimo bo'ladi public va u hech qanday qiymat qaytarmaydi.
Konstruktor parametrlari.
Konstruktorlar
parametrlarni
(odatdagi
funktsiyalar
kabi) ham olishi
mumkin, bu esa atributlar
uchun bo'lishi
boshlang'ich mumkin.
qiymatlarni
belgilashda
foydali
#include using namespace std;
class Car {
public:
string brand;
string model; int year;
Car(string x, string y, int z) { brand = x;
model = y;
year = z;
}
};
int main() {
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// Print values
cout << carObj1.brand << " " << carObj1.model << " "
<< carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " "
<< carObj2.year << "\n";
return 0;
}
Natija
BMW X5 1999
Ford Mustang 1969
Vazifalar singari, konstruktorlarni ham sinfdan tashqari aniqlash mumkin. Birinchidan, sinf ichidagi konstruktorni e'lon qiling va keyin sinf nomini ko'rsatib, uni sinfdan tashqarida aniqlang, so'ngra o'lchamlarni aniqlash :: operatori, keyin konstruktorning nomi (sinf bilan bir xil):
Nusxalash konstruktori
Ba’zida, bir xil uzunlikdagi vektorlarni ishlatyotganingizni anglaysiz, har bir saqlaydigan qismi ob’ekt hisoblanadi. Bu vaziyatda, dasturingizni qayta yaratish va elementlari ob’ekt sanaladigan yagona vektordan foydalanish yaxshi fikrdir.
Masalan, faraz qilaylik hisob raqami bir qator tavsif va narxlardan iboratdir.YAgona echim ikkita vektorni saqlab turishdir:
vector descriptions; vector prices;
Vektorlarning har biri bir xil uzunlik va bo‘lakka ega bo‘lib, consisting of descrip-tions[i] tavsifi va and [i] narxlaridan iborat, birga ishlanadigan ma’lumotlar =am kiradi. Bu vektorlar paralelvektrlar deb aytiladi.Parallel vektorlar katta dasturlarda muammoni keltirib chiqaradi. Dasturchi ishonch hosil qilishi kerak, vektorlar doim o‘sha uzunlikka ega, qaysiki bir-biriga tegishli kesimlar qiymatlar bilan to‘ldirilgan bo‘ladi.
Bundan tashqari kesimda
ishlaydigan ixtiyoriy funksiya barcha vektorlarni argument sifatida qabul qilishi kerak, ya’ni dastur uchun zerikarli bo‘lganlarini.
Xulosa
Xulosa qilib aytganda C++ dasturlash tili va unda özgarmaslar va konsturuktorlar va ularni nusxalash haqida umumiy malumotga ega bòldim.
Va bir qancha yangi ma'lumotlar, bilimlar oldik bir nechta dasturlar bilan ham tanishib chiqdib, konstruktorlarnig yangi turlarini bilib oldim.
4. Foydalanilgan adabiyotlar
1.Никита Культин. “C++ конста елемент ” 2.Рейсдорф К., Хендерсон К. “C++”.
3.Qosimov S. “Axborot texnologiyalari”. 4.ZiyoNet tarmog’i
5.Google qidiruv tizimi