2.2. C++ tilida birlashmalar Birlashmalar. Murojaatlarlarga yaqin tushuncha bu birlashma tushunchasidir. Birlashmalar union hizmatchi so’zi yordamida kiritiladi. Misol uchun union {long h; int I,j; char c[4]}UNI;
Birlashmalarning asosiy hususiyat shundaki uning hamma elementlari bir hil boshlangich adresga ega bo’ladi.
Qo’yidagi dastur yordamida bu hususiyatni tekshirish mumkin:
#include void main()
{ union {long h; int k; char c[3]}U={10l;-3;”ALI”);
Cout<<(“\n l=%d”;&u.l);
Cout<<(“\n k=%d”;&u.k);
Cout<<(“\n c=%d”;&u.c);
};
Birlashmalarning asosiy avfzalliklaridan biri hotira biror qismi qiymatini har hil tipdagi qiymat shaklida qarash mumkindir. Misol uchun qo’yidagicha birlashma union {float f; unsigned long k; char h[4];}fl;
Hotiraga fl.f=2.718 haqiqiy son yuborsak uning ichki ko’rinishi kodini fl.l yordamida ko’rishimiz, yoki alohida baytlardagi qiymatlarni fl.h[0]; fl.h[1] va hokazo yordamida qo’rishimiz mumkin.
Birlashmalar imkoniyatlarini ko’rsatish uchun bioskey() funktsiyasidan foydalanishni ko’rib chiqamiz. Bu funktsiya bios.h sarlavhali faylda joylashgan bo’lib, qo’yidagi prototipga ega:
int bioskey(int);
MS DOS operatsion tizimida ihtiyoriy klavishaning bosilishi klaviatura buferiga ieei bayt ma'lumot yozilishiga olib keladi.
Agar funktsiyaga bioskey(0) shaklda murojat qilinsa va bufer bo’sh bo’lsa biror klavishaga bosilishi kutiladi, agar bufer bo’sh bo’lmasa funktsiya buferdan ikki baytli kodli o’qib butun son sifatida qaytaradi. Funktsiyaga bioskey(0) shaklda murojat qilinsa va bufer bo’sh bo’lsa biror klavisha bosilishi kutiladi, agar bufer bo’sh bo’lmasa funktsiya buferdagi navbatdagi kodni qaytaradi. Funktsiyaga bioskey(1) shaklda murojat qilish bufer bush yoki bo’shmasligini aniqlashga imkon beradi. Agar bufer bo’sh bo’lmasa funktsiya buferdagi navbatdagi kodni qaytaradi, lekin bu kod buferdan o’chirilmaydi.
Qo’yidagi dastur buferga kelib tushuvchi kodlarni ukib monitorga chikarishga imkon beradi:
# include # include void main()
{
union
{ char rr[2];
int ii;
} cc;
unsigned char scn,asc;
Cout<<(“\n\n Ctrl+Z bilan chikish.”
Cout<<(“\n Klavigani bosib, kodini oling. \n ”);
Cout<<(“\n SCAN || ASCII”);
Cout<<(“\n (10) (16) (10) (16)”);
Bu dasturda cc nomli birlashma kiritilgan bo’lib, cc.ii elementiga bioskey(0) funktsiyasi natijasi yoziladi. So’ngra natijaning alohida baytlari sken va ASCII kodlar sifatida monitorga chiqariladi.
Tsikl to 26 ASCII kod va 44 sken kod paydo bo’lmaguncha (CTRL+Z klavishlari bosilmaguncha) davom etadi.
XULOSA Xulosa qilib aytganda, C++ dasturlash tili va unda stukturalar va murojaatlarviy toifalar (turlar, tiplar) bilan ishlash xaqida umumiy ma’lumotlarga ega bo`ldim.
Borland C++ Builder - Windows muhitida ishlaydigan dastur tuzish uchun qulay bo`lgan vosita bo`lib, komp’yuterda dastur yaratish ishlarini avtomatlashtiradi, xatoliklarni kamaytiradi va dastur tuzuvchi mehnatini engillashtiradi. Borland C++ dastur zamonaviy vizual loyihalash texnologiyasi asosida ob`ektga yo`naltirilgan dasturlash nazariyasini hisobga olgan holda tuziladi.
Borland C++ Builder 6 sistemasi C++ tilining rivoji bo`lgan ob`ektga yo`naltirilgan Object C/C# dasturlash tillarini ishlatadi. Borland C++ Builder sistemasi dasturni loyihalash va yaratish vaqtini kamaytiradi, hamda Windows muhitida ishlovchi dastur ilovalarini tuzish jarayonini osonlashiradi.
Men C++ dasturi murojaatlarsi xaqida, belgilar bayoni, algoritm va dastur tushunchasi, ma’lumotlarni kiritish va chikarish operatorlari xamda dasturda murojaatlarlar, murojaatlar-massivlar va murojaatlarviy ko’rsatgichlar bilan ishlash xaqida bilim va kunikmalarga ega bo`ldim.