logo

Dev C++ dasturi, uning interfeysi, imkonyatlari, hamda foydalanish ushullari.

Загружено в:

12.08.2023

Скачано:

0

Размер:

84.96484375 KB
Mavzu:    Dev C++ dasturi, uning interfeysi, imkonyatlari, hamda foydalanish ushullari.
                                Reja:
Kirish.    
I-bob nazariy qism.
II-bob amaliy qism dastur, algoritm.
Xulosa.
Kirish: Mavzuning dolzarbligi.
  C++ dasturi tarixi. C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan 
bq`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish 
amalidan olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, 
operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va 
boshqalarni yaratish uchun keng qo'llaniladi. C ++ dasturlash tili 1980-yillarning 
boshlarida Bell Laboratories firmasi xodimi Byorn Stroustrup tomonidan 
yaratilgan. Meros (Nasledovaniye) C ++ tilida bitta sinf xossa- xususiyatlarini 
boshqa sinf meros qilib olishi mumkin. Merosxo`r klass o'z maydonlarini va 
funktsiyalarini yaratishi yoki asosiy sinfning funktsiyalarini qayta aniqlashi 
mumkin. Merosxo'r konstruktor asosiy sinf konstruktorlarini chaqiradi. Destruktor 
esa teskari tartibda ishlaydi. Meros umumiy(publik), himoyalangan (Protected) va
dev c++ dasturlash tili oddiy dastur tuzilishi.
C ++ dasturlash tili alifbosi quyidagilarni o'z ichiga oladi:
•Katta va kichik lotin   harflari va pastki chiziqcha ;
•0 dan 9 gacha bo'lgan arab raqamlari;
• maxsus belgilar: "{}, | [] () + - /% *. \? <=>! & # -; ''
•bo'sh joy, tabulyatsiya, yangi qatorga o`tish belgilari.   Alifbo belgilaridan 
tilning   leksemalari   shakllanadi (mustaqil ma'noga ega bo'lgan tilning minimal 
birligi):
Leksemalar turlari :
•   identifikatorlar;
•   kalit so'zlar;
•   operatsiyalar belgilari;
•   o`zgarmas;
•   ajratuvchi   (qavs, vergul, bo'sh joy belgilari).
Identifikator   - bu dastur ob'ektining nomi. Identifika-tordagi birinchi belgi harf 
yoki pastki chiziq bo'lishi mumkin. Identifikator ichida bo'shliq bo`lmasligi kerak.
Ma'lumotlarning asosiy turlari:   Asosiy ma'lumotlar turlari quyidagilardan 
iborat: •   int   (butun son);   • char   (belgi); •   wchar_ t (kengaytirilgan belgi); 
•   bool   (mantiqiy);   • float   (haqiqiy);
• double (ikkilangan aniqlikdagi haqiqiy). Standart turlarning qiymatlar diapazonini 
aniqlash uchun to'rt turdagi spetsifikatorlar ishlatiladi:
• short (qisqa);  
• long (uzun); •   signed   (imzolangan); •   unsigned (imzo qo'yilmagan).
Birinchi satrda ma’lumotlarni kiritish / chiqishni boshqarish uchun zarur 
ma'lumotni o`z   ichiga oluvchi        , sarlavha faylini kiritish 
uchun   #include   direktivasidan foydalaniladi.   Keyingi        using   ko`rsatmasi 
yordamida C ++ tilining standart kutubxonasi vositalarini belgilaydigan   std   nomlar
fazosi islatiladi. ( Nomlar fazosi   - bu identifikatorlarni mantiqiy guruhlash uchun  yaratilgan to'plamdir). Har qanday C ++   dasturi        main ()   funktsiya bilan 
boshlanadi. Ushbu funksiya to'rt elementni o'z ichiga oladi:
•   qaytish turi   (bizning holatlarimizda   int   );
•   funksiya nomi   ( main ); • Qavslar ichidagi parametrlar ro'yxati (bu holda ro'yxat 
bo'sh);
• figurali   qavslar bilan chegaralangan , ko'rsatmalar blokini ifodalovchi funksiya 
tanasi.
Ko'rsatma   - bu harakatni belgilaydigan va protsessor ko'rsatma bo'lmagan 
dasturning qismi. Bizning dasturimizda funksiya tanasi ikkita ko'rsatmalarni o'z 
ichiga oladi:   cout << "Hello, World!"; return 0;
O'zgaruvchi   -ma'lum bir turdagi ma'lumotlar saqlanadigan xotiraning nomlangan 
maydoni.
Tarqatma savollar:
1.
Algoritm nima?
2.
Algoritimni qanday osalarini bilasiz?
3.
Algoritmning asosiy diskretli hossasi daganda nimani chunasiz?
4.
Algoritmning asosiy   Tushunarlilik   hossasi nima ?
5.
Algoritmning asosiy   Aniqlilik   hossasi daganda nimani chunasiz?
6.
Algoritmning asosiy   Ommaviylik   hossasi daganda nimani chunasiz?
7.
Algoritmning asosiy   Natijaviylik   hossasi daganda nimani chunasiz?
8.
         Algoritmning so'zlar yordamida ifodalanishiga                         ayting.
9.
Algoritmning formulalar yordamida ifodalanishiga misol ayting.
10.
Algoritmning jadval yordamida ifodalanishiga misol ayting.
11.
Algoritmning grafik shaklda ifodalanishi daganda nimani bilasiz. F A T A L I T Y
Yotishdan oldin bitta osh qoshiq: bir oyda minus 27 kg!
BATAFSIL O'QISH
C++ BUILDER   DASTURLASH TILI IMKONIYATLARI
Reja:
1. C ++ dasturi. C++   builder muhitida ishlash
2. C++ dasturlash tilida   if va switch buyruqlari
3. C++ builder muhitida   grafik shakllarni chizish
1.   C ++ dasturi. C++ builder muhitida ishlash
C++ tilining egasi yo‘q, u hech kimga tegishli emas. Bu til C tilidan kelib   chiqgani 
uchun bosh harf   C ,   ++   esa bu tildagi qiymatni bittaga ko‘tarish belgisi hisoblanadi 
va bu belgi C++ dasturlash tilida paydo bo‘lgan.
C++ dasturlash tili kompilyasiya   qilinadigan til hisoblanadi , bu degani yozilgan 
kod oldin mashina tiliga o‘giriladi va keyin ishga tushiriladi deganidir.
C ++ 1980 yilda Bell Laboratories da Bern Straustrup tomonidan ob’ektga 
mo‘ljallangan dasturlash tillari(OMDT) kabi ishlab chiqildi
        Asosiy qisim:
                    Reja:
1. C ++ dasturi. C++   builder muhitida ishlash 2. C++ dasturlash tilida   if va switch buyruqlari
3. C++ builder muhitida   grafik shakllarni chizish
 Byorn Stroustrup o'zining ehtiyojlari uchun C dasturlash tiliga bir qator 
yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish 
rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C
bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda 
paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash 
imkoniyatini qo'shdi va shu bilan C sinttaksisi asosida yangi dasturlash tili uchun 
zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, 
Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili 
"C ++ dasturlash tili" deb o'zgartirildi. C++ Cga ob'ektga yo'naltirilganlik 
xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini 
mavjud:, meros (nasledovaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - 
bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan 
funktsiyadir. Usullar sinf tanasida e'lon qilinadi. Meros (Nasledovaniye) C ++ 
tilida bitta sinf xossa- xususiyatlarini boshqa sinf meros qilib olishi mumkin. 
Merosxo`r klass o'z maydonlarini va funktsiyalarini yaratishi yoki asosiy sinfning 
funktsiyalarini qayta aniqlashi mumkin. Merosxo'r konstruktor asosiy sinf 
konstruktorlarini chaqiradi. Destruktor esa teskari tartibda ishlaydi. Meros 
umumiy(publik), himoyalangan (Protected) va xususiy (private) bo`lishi mumkin. 
Polimorfizm Ob'ektga yo'naltirilgan dasturlashda qo'llaniladigan polimorfizmning 
maqsadi, sinf uchun umumiy bo'lgan harakatlarni belgilash uchun bitta nomdan 
foydala-nishdir. Har bir harakatning bajarilishi ma'lumotlar turiga qarab 
belgilanadi. Polimorfizmning afzalligi shundaki, u bitta interfeysdan foydalanib 
yagona harakatlar sinfini aniqlashga imkon berish orqali dasturlarni 
soddalashtirishga yordam beradi. Inkapsulatsiya C++ da ma'lumotlarni tashkil 
qilish klasslar orqali amalga oshiriladi. C++ klassi maydonlar, turlar va 
funktsiyalaridan iborat bo'ladi. C++ tilidagi inkapsulatsiya klass a'zolarining ta’sir 
doirasini belgilaydi: ular ommaviy, himoyalangan va xususiy bo`lishi mumkin. 
Standart kutubxona C ++ dasturlash tilida standart kutubxona sinflar va 
funktsiyalar to'plamini anglatadi. Standart kutubxona bir nechta asosiy 
konteynerlarni, ushbu konteynerlar bilan ishlash funktsiyalarini, ob'ektlarni, satr va
oqimlarning asosiy turlarini, ba'zi til xususiyatlarini va amallarni bajarish uchun 
tez-tez ishlatiladigan funktsiyalarni o`z ichiga oladi. Masalan, sonning kvadrat 
ildizini topish. Standart kutubxonaning funktsional xususiyatlari std nomlar 
fazosida e'lon qilinadi.
 C dasturlash tilidan dan farqli tomonlari:  • ob'ektga yo'naltirilgan dasturlashni qo'llabquvvatlash;
 • andozalar orqali umumlashtirilgan dasturlashni qo'llab-quvvatlash;
 • qo'shimcha ma'lumotlar turlari; 
• istisnolar;
 • nom maydonlari; 
• ichki funktsiyalar; 
• operatorning yuklanishi(peregruzka);
 • funktsiyalarning yuklanishi; 
• a xotirani erkin boshqarish operatorlari;
 • standart kutubxonaga qo'shimchalar. Afzalliklari:
 • C tili bilan yuqori muvofiqlik 
• Hisoblash samaradorligi 
• Turli dasturlash uslublarini qo'llab-quvvatlash: tarkibiy, ob'ektga yo'naltirilgan, 
umumlashtirilgan dasturlash, funktsional dasturlash. 
• Ob’yekt destruktorlarni avtomatik ravishda chaqirish xotira va boshqa 
manbalarni boshqarish ishonchliligini soddalashtiradi va oshiradi. 
• Ortiqcha yuklangan operatorlar 
• shablonlar
 • To'g'ridan-to'g'ri kompilyatorlar tomonidan qo'llab-quvvatlanmaydigan 
paradigmalarni qo'llab-quvvatlash uchun tilni kengaytirish imkoniyati mavjudligi. 
• C ++ uchun turli tillarga tarjima qilingan juda ko'p o'quv adabiyotlari mavjud
                     Kamchiliklari: 
• Noto'g'ri ishlab chiqilgan sintaksisning mavjudligi tilning qo'llanilishini 
pasaytiradi 
• Til ko'p muhim xususiyatlarga ega emas. 
• Dasturchilar uchun unumdorligi ancha past 
• Noqulay sintaksis 
• Og'ir meros 
• Xotirani kuzatib borish zarurati Afzalliklari: • C tili bilan yuqori muvofiqlik • Hisoblash samaradorligi • Turli 
dasturlash uslublarini qo'llab-quvvatlash: tarkibiy, ob'ektga yo'naltirilgan, 
umumlashtirilgan dasturlash, funktsional dasturlash.
 • Ob’yekt destruktorlarni avtomatik ravishda chaqirish xotira va boshqa 
manbalarni boshqarish ishonchliligini soddalashtiradi va oshiradi. 
• Ortiqcha yuklangan operatorlar 
• shablonlar 
• To'g'ridan-to'g'ri kompilyato
Dev C++ dasturi  mihitida ishlash  Dev-C ++ (Dev-Cpp)  - bu C /  C ++ dasturlash
tillari   uchun   bepul   dasturlarni   ishlab   chiqish   muhiti.   Dev-C   ++   dastur   oynasini
quyidagi ko’rinishda bo’ladi.  C ++ dasturiga misol.
Dasturchilar   odatda,   Web   resurslar   va   ma’lumotlar   bazasi   ilovalarini   ishlab
chiqishda   C++   dan   foydalanadilar.   Amaliy   dasturiy   ta’minotlar,   masalan,   C++
dasturida   yozilgan   elektron   jadval   va   matnlar   dasturini   ishlab   chiqishda
foydalanadi.
C++ dasturlash tili funksiya va ob’ektlarning juda boy kutubxonasiga ega.
  Ya’ni C++ tilida dasturlashni o‘rganish ikki qismga bo‘linadi. Birinchisi bu C++
tilini o‘zini o‘rganish, ikkinchisi esa C++ tilining standart kutubxonasidagi tayyor
ob’ekt(funksiya)larni qo‘llashni o‘rganishdir.
C++ tili va ob’ektlarga mo‘ljallangan dasturlash tili.
C++   tili   ob’ektga   mo‘ljallangan   dasturlash   tamoyillarini   qo‘llab-   quvvatlaydi.   Bu
tamoyillar quyidagilardir:
1. Inkapsulyasiy a
Inkapsulyasiya
1.Dasturlash va dasturlash tili haqida tushunchalar.
      Dasturlash   – inson va kompyuter orasidagi “suxbatlashish” jarayonidir ya’ni 
Dasturchi Kompyuterga berilgan buyruqlar orqali    dasturlar yaratishidir! 
Dasturlash tili esa – dasturchi va kompyuter o’rtasidagi muloqot vositasi  hisoblanadi.Kompyuter bilan aynan o’sha vosita orqali    suxbat qura olasiz ya’ni 
dastur yozasiz.
2.Qaysi dasturlash tilini birinchi o’rganish kerak?
      Bugungi kunda ko’plab dasturlash tillari mavjud (Java,JS,Python,Swift va 
hokazo). Agar siz qay biridan boshlashga qiynalayotgan bo’lsangiz , sizga C++ 
dasturlash tilini maslaxat bergan bo’lardim. Chunki bu eng yaxshi yo’ldir.Ayniqsa,
Dasturlash soxasiga endi kirib kelgan do’stlarimizga . Sizga muxim tarzda 
tavsiflasam ushbu dasturlash tilini , ushbu tilni bilgan C++ developerlar uchun 
talab nafaqat O’zbekistonda balki butun dunyoda juda katta, Nima uchun? degan 
savol tug’ilishi mumkin, negaki Bu tilda Dasturlash soxasining barcha 
yo’nalishlarida (Android dasturlash, Game dasturlash, Database dasturlash, 
Desktop dasturlash va hokazo) dasturlar yarata olasiz. Dunyodagi yetakchi SMM 
platformalari (Facebook,Microsoft va hokazo) ushbu dasturlash tilida ishlab 
chiqilgan.
3.C++ dasturlash tili.
      Hozirgi kunda juda ko‘p    algoritmik tillar mavjud. Bular ichida Java va C++ 
dasturlash tillari universal tillar hisoblanib, boshqa tillarga qaraganda imkoniyatlari
kengroqdir. So‘ngi yillarda Java va C++ dasturlash tillari juda takomillashib, 
tobora ommalashib bormoqda. Mazkur tillardagi vositalar zamonaviy kompyuter 
texnologiyasining hamma talablarini o‘z ichiga olgan va unda dastur tuzuvchi 
uchun ko‘pgina qulayliklar yaratilgan.
      C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C tiliga asoslangan tarzda 
tuzildi
.   C++ juda ko’p qo’shimchalarni o’z ichiga olgan, lekin eng asosiysi u obyektlar 
bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda 
katta ahamiyat kasb etmoqda. Buni ta’minlash uchun obyektli dasturlash g’oyasi 
ilgari surildi. C++ esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash 
obyektlar bilan dasturlash mumkin.    C++ funksiya va obyektlarning juda boy 
kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki qismga 
bo’linadi. Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++ ning 
standart kutubhonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir.      
      C++ tiliga ko‘plab yangiliklar kiritilgan bo‘lib, tilning imkoniyati yanada 
kengaytirilgan. C++ dasturlash tili ham boshqa dasturlash tillari kabi o‘z alfavitiga 
va belgilariga ega.  
                          1.C++ alfaviti:
   Katta va kichik lotin alfaviti harflari;
 Raqamlar - 0,1,2,3,4,5,6,7,8,9; 3.  Maxsus belgilar: " {} | [] () + - / % \ ; ' : ? <=>_ ! & ~ # ^ . *
                          2. Alfavit belgilaridan quyidagilar kelib chiqadi:  
 Identifikatorlar;
 Kalit (xizmatchi yoki zahiralangan) so‘zlar;
 O‘zgarmaslar;
 Amallar belgilanishlari;
 Ajratuvchilar.
       Bu tillarda tuzilgan dasturlarda izohlar istalgan joyda berilishi mumkin. Ular 
satriy va blokli ko‘rinishlarda bo’ladi. Satriy izohlar uchun “//”, blokli izohlar 
uchun “/*”, “*/” belgilari ishlatiladi.
4. IDE nima?
    IDE (Integrated development environment)   - Integratsiyalashgan rivojlanish 
muxiti dasturiy ta’minotni yaratish uchun ishlatiladigan dasturdir. IDE ko'pincha 
turli tillarni qo’llab-quvvatlaydi. Shu o’rinda C++ Dasturlash tili uchun ham 
dasturlash muxitlari mavjuddir.Ularga quyidagilarni misol qila olaman: Dev C++, 
Code::Blocks , Visual Studio, C free lar C++ dasturlash tili uchun IDE lar 
hisoblanadi . Compilator / interpretator – Kodni(Inson tilini) ikkilik kodga(mashina
tiliga) aylantiradigan vosita (dasturiy ta’minot) ushbu vosita esa IDE da o’rnatilgan
bo’lib ushbu vositalar orqali biz komyuterga bergan buyrug’larimizdan natijalar 
ola olamiz. Yuqorida aytib o’tilgan dasturlash muxitlari orasidan men sizga Dev 
C++ dan foydalanishingizni maslaxat beraman.
      Kelasi maqolalarda C++ dasturlash tilini birgalikda o’rganamiz ya’ni o’zim 
bilgan ma’lumotlarni siz azizlarga ulashishga harakat qilaman. Albatta siz aziz 
do’stlarimning bergan motivatsiyalari menga dalda bo’la oladi . Maqola yoqgan 
bo’lsa xursandman .  E’lon qilish va aniqlash
C++ dasturlash tilida o’zgaruvchi, doimiy, funksiya, sinf va boshqa nomlar 
foydalanilishidan oldin   aniqlanishi   kerak. Ko’p hollarda   aniqlanish   va   e’lon 
qilish   bir vaqtda bajariladi. Lekin ularning farqi bor. Bu farqni quyidagi misollarda
ko’rish mumkin:
Source code
1. extern   int  a ;                // a e’lon qilinyapti
2.  
3. extern   const   int  b ;          // b e’lon qilinyapti
4.  
5. int  Func ( int ) ;               // Func e’lon qilinyapti
6.  
7. struct  S ;                    // S e’lon qilinyapti
8.  
9. typedef   int  Integer ;         // Integer e’lon qilinyapti
10.   11. int  a ;                       // a aniqlanyapti
12.  
13. extern   const   int  b  =   10 ;     // b aniqlanyapti
14.  
15. int  Func ( int  x )              // Func aniqlanyapti
16. {
17.
     return  x  +  a ;
18. }
19.  
20. struct  S                    // S aniqlanyapti
21. {
22.      int  x ;                   // x aniqlanyapti
23.      static   int  y ;            // y e’lon qilinyapti
24.  
25.     S ()   :  x ( 0 )   {   }           // S ning konstruktori aniqlanyapti
26. } ;
27.  
28. int  S :: y   =   1 ;                // S ning y a’zosi aniqlanyapti
29.  
30. enum   { Oq, Qora } ;             // Oq va Qora aniqlanyapti
Quyidagi misollarda   e’lon qilish   va   aniqlash   bir vaqtda 
bajariladi. Faraz qilaylik, bizda   misol.cpp   fayli mavjud va u 
quyidagi matnga ega.
1. // misol.cpp
2. #include <iostream>
3. #include <string>
4.  
5. using   namespace  std ;
6.  
7. // Shaxs sinfi va uning a'zolari aniqlanyapti
8. class  Shaxs
9. {
10. public :
11.     string Ism ;
12.      int  Yosh ;
13. } ;
14.  
15. // Shaxs sinfi nusxasi P aniqlanyapti
16. Shaxs P ;
17.  
18. // Funksiya Func aniqlanyapti 19. void  Func ( Shaxs p )
20. {
21.      // ...
22.      cout   <<   "Ismi: "   <<  p. Ism   <<  endl ;
23.      cout   <<   "Yoshi: "   <<  p. Yosh   <<  endl ;
24. }
25.  
26. // Year e’lon qilinyapti
27. extern   int  Year ;
28.  
29. // main funksiyasida yuqoridagi nomlar foydalanilyapti
30. int  main ()
31. {
32.     P. Ism   =   "Tom" ;
33.     P. Yosh   =   15 ;
34.     Func ( P ) ;
35.      return   0 ;
36. }
Yuqorida   Year   o’zgaruvchisi e’lon qilinyapti. Undan foydalanish mumkin 
qachonki u   misol.cpp   faylini o’zida yoki boshqa faylda aniqlangan bo’lsa.
Obyekt
C++ standartiga ko’ra,   obyekt   bu xotiraning biror bir qismi yoki sohasidir 
(funksiya ob’yekt emas u hatto xotiraning biror qismini egallasada). Obyekt u 
aniqlanganda,   new   operatori yordamida va kompillyator tomonidan yaratilishi 
mumkin (masalan,   this,   __func__ o’zgaruvchilari kompillyator tomonidan 
yaratiladi). Obyekt   nomga   ega bo’lishi mumkin. Obyekt   ma’lumot turiga   ega, 
masalan,   int ,   double , string va h. Obyekt   xotira davriga   ega va bu davr 
ob’yektning mavjudlik davrini belgilaydi. Obyekt   polimorf   bo’lishi mumkin, ya’ni,
u bir yoki undan ortiq virtual funksiyalarga ega bo’lishi mumkin (keyingi darslarda
to’liqroq yoritiladi).
Obyekt o’z tarkibiga boshqa ob’yektlarni olishi mumkin. Obyekt tarkibidagi 
obyektlar   subobyektlar   deyiladi. Subobyekt sinf a’zosi, “ona” obyekt ( vorislik ) 
yoki massiv elementi sifatida bo’lishi mumkin. Ikkita obyekt bir xil adresga ega 
bo’lishi mumkin agar biri ikkinchisining tarkibida bo’lsa.
Standartga ko’ra, barchasi obyekt deyilsada, obyekt so’zi odatda murakkab yoki 
tarkibiy qismga ega bo’lgan obyektlarga, masalan sinf nusxalariga nisbatan 
ishlatiladi. Skalyar turdagi, masalan   int ,   double, char   obyektlarini 
odatda   o’zgaruvchilar   deyiladi.
Soha
Har bir   nom   dastur matnining biror sohasida ( global soha,   namespace   sohasi, blok
yoki lokal soha, funksiya sohasi, funksiya prototipi sohasi, sinf 
sohasi,   enumeration   sohasi, shablon parametri sohasi ) e’lon qilinadi. Bu soha 
dastur matnining shu nom foydalanilishi mumkin bo’lgan eng katta qismi 
hisoblanadi va bu sohada shu nom   sohani aniqlash operatori   :: siz foydalanilishi 
mumkin. Bu soha nomning   e’lon qilingan sohasi   deyiladi. Lekin nom, e’lon  qilingan sohaning   amal qilish sohasi   deb ataluvchi sohasidagina mavjud. Bu soha 
esa nom   e’lon qilingan nuqtadan   boshlanadi. Lekin nomning amal qilish sohasi har
doim ham uzluksiz bo’lmasligi mumkin.
Source code      
1. // misol2.cpp
2. int  j  =   1 ;
3.  
4. int  main ()
5. {
6.      int  i, j ;
7.     j  =   2 ;
8.      :: j   =   3 ;
9. }
Ushbu misolda birinchi ‘j’ ning e’lon qilingan sohasi misol2.cpp faylining to’liq 
matni, ya’ni global soha hisoblanadi. Amal qilish sohasi esa   int   j dan keyin 
boshlanadi va misol2.cpp fayli matnining oxirigacha davom etadi. Lekin bu 
soha   main   funksiya “tanasi” da, vergul dan } belgigacha bo’lgan sohani o’z ichiga 
olmaydi. Chunki verguldan so’ng xuddi shu nom bilan boshqa o’zgaruvchi e’lon 
qilingan.
Ikkinchi ‘j’ ning e’lon qilingan sohasi funksiyaning “tanasi”, ya’ni { } belgilar 
orasidagi soha hisoblanadi, ya’ni funksiya sohasi. Uning amal qilish sohasi nuqta-
verguldan oldin boshlanadi va } belgida tugaydi. Ikkinchi ‘j’ ning amal qilish 
sohasida birinchi ‘j’ “ yashiriladi ” va u :: operatori orqali foydalaniladi.
Source code      
1. int  x  =   12 ;
2.  
3. {   int  x  =  x ;   }         // lokal x o’zining shaxsiy (noma’lum) qiymatiga teng
4.  
5. const   int  i  =   10 ;
6.  
7. {   int  i [ i ] ;   }          // lokal i 10 elementli massiv
8.  
9. const   int  Oq  =   5 ;
10.  
11. {   enum   {  Oq  =  Oq  +  1, Qora  =  Oq  +  1  } ;   }     // Oq 6 va Qora 7 ga teng
enum   elementlarining e’lon qilingan sohasi   enum   e’lon qilingan soha hisoblanadi.
Xotira davri
Har bir obyekt   xotira davriga   ega. Bu obyektning xususiyati bo’lib, dastur 
xotirasining shu obyekt egallagan qismi, sohasining davrini belgilaydi. Obyekt bir 
vaqtning o’zida faqat bitta xotira davriga ega bo’lishi mumkin. Obyektning xotira 
davri obyekt qanday yaratilishiga asosan aniqlanadi va quyidagilardan biri bo’lishi 
mumkin:
 statik   xotira davri
 oqim   ( thread ) xotira davri ( C++ 11 dan boshlab )  avtomatik   xotira davri
 dinamik   xotira davri
Statik, oqim va avtomatik xotira davrlari kompillyator tomonidan bilvosita 
yaratiladigan obyektlar bilan bog’liq (obyektlar   aniqlanganda   ular bilvosita 
yaratiladi). Dinamik xotira davri   new   operatori bilan yaratiladigan obyektlar bilan 
bog’liq.
Global yoki   namespace   sohada aniqlangan obyektlar,   static   belgili lokal yoki sinf 
a’zosi bo’lgan obyektlar   statik xotira davriga   ega bo’ladilar. Bunday obyektlar 
uchun xotira dastur ishga tushganda ajratiladi va dastur ishi yakunlanganda 
bo’shatiladi. Boshqacha aytganda, ularning xotiradagi o’rni yoki adresi dasturning 
butun ishi davomida o’zgarmaydi.
thread_local   belgili barcha obyektlar   oqim xotira davriga   ega. Bunday obyektlar 
uchun xotira ular foydalanilgan oqimlar yaratilganida ajratiladi va oqimlar ishini 
tugatganida bo’shatiladi. Global obyektdan farqli ravishda,   thread_local   obyekt har
bir oqim uchun alohida yaratiladi.   Eslatma:   oqim   bu dastur kodini bajaruvchi 
subdastur (подпрограмма). Dastur kodi bir yoki undan ortiq oqimlar tomonidan 
bajarilishi mumkin.
Blok/lokal sohada aniqlangan   register   belgili, yoki blok/lokal sohada 
aniqlangan   static   yoki   extern   belgisiz obyektlar   avtomatik xotira davriga   ega. 
Bunday obyektlar faqat ular aniqlangan blok ichidagina mavjud bo’ladi.
new   operatori orqali yaratiladigan obyektlar   dinamik xotira davriga   ega bo’ladilar. 
Bunday obyektlar   delete   operatori orqali tugatiladi. Statik, oqim va avtomatik 
xotira davriga ega obyektlarning yaratilishi va tugatilishi kompillyator tomonidan 
bilvosita boshqariladi. Dinamik obyektlarning yaratilishi va tugatilishi esa 
dasturchi tomonidan boshqariladi.
Source code      
// misol3.cpp
#include <string>
 
namespace  MyNamespace
{
     int  i ;                  // Statik xotira davriga ega
}
 
int  j  =   1 ;                  // Statik xotira davriga ega  
thread_local  int  TI ;        // Oqim xotira davriga ega
 
double   * PD ;                 // Statik xotira davriga ega
 
struct  Person
{
     // ...
     static   int  Count ;
} ;
 
int  Person :: Count   =   0 ;          // Statik xotira davriga ega
 
void  SomeFunc ()
{
     static   char  C  =  ‘A’ ;        // Statik xotira davriga ega
     register   int  rv ;            // Avtomatik xotira davriga ega
    std :: string  Str ;            // Avtomatik xotira davriga ega
     // ...
     if   ( Str  ==  “” )
     {
         int  N ;                  // Avtomatik xotira davriga ega
         // ...
     } }
 
int  main ()
{
     // PD ko’rsatgan obyekt dinamik xotira davriga ega
    PD  =   new   double ( 3.14 ) ;
     // ...
     delete  PD ;
}
L-ifodalar va R-ifodalar
Operatorlar va operandlar ketma-ketligidan iborat hisoblash birligi   ifoda   deyiladi. 
Ifodaning natijasi biror bir turdagi qiymatga olib kelishi mumkin. C++ standartiga 
ko’ra, har bir ifoda o’z   qiymat kategoriyasiga   ega va u quyidagilardan biri bo’lishi 
mumkin:
 lvalue   ( left-value ), ya’ni chap tomon qiymati, yoki   l-ifoda . Bu odatda “=” 
operatorining chap tomonida turgan operand, masalan, funksiya yoki obyekt 
bo’lishi mumkin.
 xvalue   ( “eXpiring” value ), ya’ni tugab borayotgan qiymat, yoki   x-ifoda . Bu 
tugatilish arafasida turgan vaqtinchali obyekt, yoki funksiya natijasi bo’lishi 
mumkin.
 prvalue   ( “pure” rvalue ), ya’ni “butunlay” o’ng tomon qiymat, yoki x-ifoda 
bo’lmagan   r-ifoda . r-ifoda odatda “=” operatorining o’ng tomonida turgan 
operand, masalan, o’zgarmas literallar   20 ,   true ,   3.5   yoki natijasi adres 
( reference ) bo’lmagan funksiyaning qiymati.
Source code      
1. int  i ;
2. i  =   1 ;    // i l-ifoda. i = 1; ning natijasi ham l-ifoda, chunki (i = 1) = 5; ifoda 
ham to’g’ri. 1 va 5 lar esa prvalue
3.  
4. int &  Func1 ()    // l-ifoda, chunki Func1() = 10; ifoda ham to’gri hisoblanadi
5. {
6.      //...
7. }
8.  
9. int *  Func2 ()    // Func2() r-ifoda, lekin *Func2() l-ifoda, chunki   *Func2() = 
50; ifoda to'g'ri hisoblanadi 10. {
11.      //...
12. }
13.  
14. std :: string  Func3 ()    // Func3() x-ifoda. Chungi uning natijasida yaratilgan 
obyekt resursi boshqa obyektga “ko’chiriladi” (C++ 11 dan boshlab)
15. {
16.      //...
17. }
18.  
19. double  Func4 ()    // Func4() x-ifoda bo’lmagan r-ifoda, yoki prvalue.
20. {
21.      //...
22. }
 Haqida   
 
 So'nggi maqolalari   
Asqarali Azimov
(7,118 marta o'qilgan, bugun 1 marta o'qildi)
O'xshash maqolalar:
 Dasturchilar uchun 10ta Onlayn Kodlash Musobaqalari!   
 Java Swing-03 Joylashuv boshqaruvi   
 Java Swing-05 Muloqot Oynalari   
 C++ qadamlari.   
 C++ qadamlari. Ko'rsatkichlar (1).   
 Solishtirish operatori   
 C++: Ma’lumot turlari   
Do'stlaringiz bilan baham ko'ring:
 Click to share on Facebook (Opens in new window)   
 Click to share on Twitter (Opens in new window)   
 Click to share on LinkedIn (Opens i   


 Like this:  Click to share on Google+ (Opens in new window)
 Click to share on Telegram (Opens in new window)   
n new window)
C++ qadamlari. Kiritish operatori, funksiyani e'lon qilish C++ dasturlash tili bilan tanishib borishda davom etamiz. Tushunish oson bo'lishi 
uchun console muhitida misollar ko'rmoqdamiz. Console muhitida kiritish 
operatori cin>> orqali amalga oshiriladi. cin>> dan so'ng istalgan ma'lumot turi 
e'lon qilingan o'zgaruvchini joylashtirsak shu o'zgaruvchi qiymatini qo'lda 
kiritishimiz mumkin bo'ladi. Masalan: #include <iostream> using namespace std; 
int main() {…
In "C plus plus"
C++ qadamlari. Ko'rsatkichlar(2).
Avvalgi darsda qisqacha ko'rsatkich haqida ma'lumot oldik. Endi misollar orqali bu
muhim mavzuni yaxshiroq o'zlashtiramiz. Yaxshi dasturchi bo'lishning yaxshi yo'li
amaliyot, amaliyot va yana amaliyot! Oddiy ko'rsatkichni e'lon qilishni eslaylik: int
*a; Bunda int tipidagi ma'lumotni o'zida saqlaydigan a ning manziliga yo'nalgan 
ko'rsatkich e'lon qilindi. Doim yodda saqlash zarurki, ko'rsatkich…
In "C plus plus"
Namuna: C++ dasturlash tilining SWOT tahlilini ushbu jadvalga tushiring.
C++ dasturlash tilidan foydalanishning kuchli tomonlari Ushbu dasturlash tili 
tizimli dasturlash tili bo’lib, boshqa dasturlash tillarida ham tizimli masalalarni 
yechishda C++ ga murojaat etiladi. W C++ dasturlash tilidan foydalanishning 
kuchsiz tomonlari Dasturlash tilining strukturasi murakkabligi. O C++ dasturlash 
tilidan foydalanishning imkoniyatlari (ichki) C++ dasturlash tilini mukkammal 
o’zlashtirgan dasturchilar muammoli masalalarni yechishda va yuzaga keladigan 
xatoliklarni bartaraf etishda mukammal muhit hisoblanadi. T To’siqlar (tashqi) 
Ma’lumotlar xavfsizligining to’laqonli ta’minlanmaganlig Xulosalash» (Rezyume, 
Veyer) metodi Metodning maqsadi: Bumetod murakkab, ko’ptarmoqli, mumkin 
qadar, muammoli xarakteridagi mavzularni o’rganishga qaratilgan. Metodning 
mohiyati shundan iboratki, bunda mavzuning turli tarmoqlari bo’yicha bir xil 
axborot beriladi va ayni paytda, ularning har biri alohida aspektlarda muhokama 
etiladi. Masalan, muammo ijobiy va salbiy tomonlari, afzallik, fazilat va 
kamchiliklari, foyda va zararlari bo’yicha o’rganila di. Bu interfaol metod tanqidiy,
tahliliy, aniq mantiqiy fikrlashni muvaffaqiyatli rivojlantirishga hamda 
o’quvchilarning mustaqil g’oyalari, fikrlarini yozma va og’zaki shaklda tizimli 
bayon etish, himoya qilishga imkoniyat yaratadi. “Xulosalash”metodidan ma’ruza 
mashg’ulotlarida individual va juftliklardagi ish shaklida,amaliy vaseminar 
mashg’ulotlarida kichik guruhlardagi ish shaklida mavzu yuzasidan bilimlarni 
mustahkamlash, tahlili qilish va taqqoslash maqsadida foydalanish mumkin. 
“Keys-stadi” metodi «Keys-stadi» - inglizchaso’zbo’lib, («case» – aniqvaziyat, 
hodisa, «stadi» – o’rganmoq, tahlilqilmoq) Mazkurmetoddastlab 1921 
yilGarvarduniversitetidaamaliyvaziyatlardaniqtisodiyboshqaruvfanlarinio’rganishd
af oydalanishtartibidaqo’llanilgan. Keysda 
ochiqaxborotlardanyokianiqvoqyeahodisadanvaziyatsifatidatahliluchunfoydalanish
mumkin. Keysharakatlario’zichigaquyidagilarniqamraboladi Kim (Who), Qachon 
(When), Qayerda (Where), Nimauchun (Why), Qanday/ Qanaqa (How), Nima-
natija (What). “Keysmetodi” ni amalgaoshirishbo bosqichlari Faoliyat shakli va 
mazmuni 1-bosqich: Keysvauningaxborotta’minotibilantanishtiri sh    
yakkatartibdagiaudio-vizualish;    keysbilantanishish(matnli,  audioyokimediashaklda);    axborotniumumlashtirish;    axborottahlili;    
muammolarnianiqlash 2-bosqich:Keysnianiqlashtirishvao’quv 
topshirig’nibelgilash    individualvaguruhdaishlash;    
muammolarnidolzarblikiyerarxiyasi nianiqlash;    
asosiymuammolivaziyatnibelgilash 3- bosqich:Keysdagiasosiymuammonitahlileti 
shorqalio’quvtopshirig’ining yechiminiizlash, haletishyo’llariniishlabchiqish    
individualvaguruhdaishlash;    muqobilyechimyo’llariniishlabchiqi sh;    
harbiryechimningimkoniyatlarivato’ siqlarnitahlilqilish;    
muqobilyechimlarnitanlash 4-bosqich:Keysyechimini 
yechiminishakllantirishvaasoslash, taqdimot.    yakkavaguruhdaishlash;    
muqobilvariantlarniamaldaqo’llashi mkoniyatlariniasoslash;    ijodiy-
loyihataqdimotinitayyorlash;    yakuniyxulosavavaziyatyechimining 
amaliyaspektlariniyoritish 13 Keys. Berilgan topshiriq asosida dastur algoritmi 
t.ushuniladi
Xulosa: Dev c++ dasturlash tili dastur tuzushini urganish, kapyuterga buyruq berishni 
urgatadi.
Foydalanilgan adabiyotlar:
ADABIYOTLAR RO’YXATI I. Me’yoriy- huquqiy xujjatlar. 1. O’zbekiston 
Respublikasi Prezidentining «Oliy ta’lim muassasalarining rahbar va pedagog 
kadrlarini qaytatayyorlash va malakasini oshirish tizimini yanada takomillashtirish 
chora-tadbirlari to’g’risida» 2015 yil 12 iy adrlar tayyorlash milliy dasturi. 
O’zbekiston Respublikasi Oliy Majlisining Axborotnomasi, 1997 yil. 11-12-son, 
295-modda. 4. O’zbekiston Respublikasi Prezidentining 2012 yil 24 iyuldagi “Oliy
malakali ilmiy va ilmiy-pedagog kadrlar tayyorlash va attestasiyadan o’tkazish 
tizimini yanada takomillashtirish to’g’risida”gi PF–4456-son Farmoni. 5. 
O’zbekiston Respublikasi Vazirlar Mahkamasining 2012 yil 28 dekabrdagi “Oliy 
o’quv yurtidan keyingi ta’lim xamda oliy malakali ilmiy va ilmiy pedagogik 
kadrlarni attestasiyadan o’tkazish tizimini takomillashtirish choratadbirlari 
to’g’risida”gi 365- sonli Qarori. 
Maxsus adabiyotlar. 1. Bjarne Stroustrup. Programming: Principles and Practice 
Using C++ (2nd Edition). Person Education, Inc
 Internet resurslar. 
1.  http://www.stroustrup.com/4th.html
  2.  http    ://    www    .   cplusplus    .   com    /  
 3.  http :// acm . tuit . uz /- дастурий ечим 
4.  http://acm.tuit.uz/forum/
 5. http://acm.timus.ru/ – дастурларни тестловчи тизим.  6. http://codeforces.com

Mavzu: Dev C++ dasturi, uning interfeysi, imkonyatlari, hamda foydalanish ushullari. Reja: Kirish. I-bob nazariy qism. II-bob amaliy qism dastur, algoritm. Xulosa. Kirish:

Mavzuning dolzarbligi. C++ dasturi tarixi. C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan bq`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun keng qo'llaniladi. C ++ dasturlash tili 1980-yillarning boshlarida Bell Laboratories firmasi xodimi Byorn Stroustrup tomonidan yaratilgan. Meros (Nasledovaniye) C ++ tilida bitta sinf xossa- xususiyatlarini boshqa sinf meros qilib olishi mumkin. Merosxo`r klass o'z maydonlarini va funktsiyalarini yaratishi yoki asosiy sinfning funktsiyalarini qayta aniqlashi mumkin. Merosxo'r konstruktor asosiy sinf konstruktorlarini chaqiradi. Destruktor esa teskari tartibda ishlaydi. Meros umumiy(publik), himoyalangan (Protected) va dev c++ dasturlash tili oddiy dastur tuzilishi. C ++ dasturlash tili alifbosi quyidagilarni o'z ichiga oladi: •Katta va kichik lotin harflari va pastki chiziqcha ; •0 dan 9 gacha bo'lgan arab raqamlari; • maxsus belgilar: "{}, | [] () + - /% *. \? <=>! & # -; '' •bo'sh joy, tabulyatsiya, yangi qatorga o`tish belgilari. Alifbo belgilaridan tilning leksemalari shakllanadi (mustaqil ma'noga ega bo'lgan tilning minimal birligi): Leksemalar turlari : • identifikatorlar; • kalit so'zlar; • operatsiyalar belgilari; • o`zgarmas; • ajratuvchi (qavs, vergul, bo'sh joy belgilari). Identifikator - bu dastur ob'ektining nomi. Identifika-tordagi birinchi belgi harf yoki pastki chiziq bo'lishi mumkin. Identifikator ichida bo'shliq bo`lmasligi kerak. Ma'lumotlarning asosiy turlari: Asosiy ma'lumotlar turlari quyidagilardan iborat: • int (butun son); • char (belgi); • wchar_ t (kengaytirilgan belgi); • bool (mantiqiy); • float (haqiqiy); • double (ikkilangan aniqlikdagi haqiqiy). Standart turlarning qiymatlar diapazonini aniqlash uchun to'rt turdagi spetsifikatorlar ishlatiladi: • short (qisqa); • long (uzun); • signed (imzolangan); • unsigned (imzo qo'yilmagan). Birinchi satrda ma’lumotlarni kiritish / chiqishni boshqarish uchun zarur ma'lumotni o`z ichiga oluvchi , sarlavha faylini kiritish uchun #include direktivasidan foydalaniladi. Keyingi using ko`rsatmasi yordamida C ++ tilining standart kutubxonasi vositalarini belgilaydigan std nomlar fazosi islatiladi. ( Nomlar fazosi - bu identifikatorlarni mantiqiy guruhlash uchun

yaratilgan to'plamdir). Har qanday C ++ dasturi main () funktsiya bilan boshlanadi. Ushbu funksiya to'rt elementni o'z ichiga oladi: • qaytish turi (bizning holatlarimizda int ); • funksiya nomi ( main ); • Qavslar ichidagi parametrlar ro'yxati (bu holda ro'yxat bo'sh); • figurali qavslar bilan chegaralangan , ko'rsatmalar blokini ifodalovchi funksiya tanasi. Ko'rsatma - bu harakatni belgilaydigan va protsessor ko'rsatma bo'lmagan dasturning qismi. Bizning dasturimizda funksiya tanasi ikkita ko'rsatmalarni o'z ichiga oladi: cout << "Hello, World!"; return 0; O'zgaruvchi -ma'lum bir turdagi ma'lumotlar saqlanadigan xotiraning nomlangan maydoni. Tarqatma savollar: 1. Algoritm nima? 2. Algoritimni qanday osalarini bilasiz? 3. Algoritmning asosiy diskretli hossasi daganda nimani chunasiz? 4. Algoritmning asosiy Tushunarlilik hossasi nima ? 5. Algoritmning asosiy Aniqlilik hossasi daganda nimani chunasiz? 6. Algoritmning asosiy Ommaviylik hossasi daganda nimani chunasiz? 7. Algoritmning asosiy Natijaviylik hossasi daganda nimani chunasiz? 8. Algoritmning so'zlar yordamida ifodalanishiga ayting. 9. Algoritmning formulalar yordamida ifodalanishiga misol ayting. 10. Algoritmning jadval yordamida ifodalanishiga misol ayting. 11. Algoritmning grafik shaklda ifodalanishi daganda nimani bilasiz.

F A T A L I T Y Yotishdan oldin bitta osh qoshiq: bir oyda minus 27 kg! BATAFSIL O'QISH C++ BUILDER DASTURLASH TILI IMKONIYATLARI Reja: 1. C ++ dasturi. C++ builder muhitida ishlash 2. C++ dasturlash tilida if va switch buyruqlari 3. C++ builder muhitida grafik shakllarni chizish 1. C ++ dasturi. C++ builder muhitida ishlash C++ tilining egasi yo‘q, u hech kimga tegishli emas. Bu til C tilidan kelib chiqgani uchun bosh harf C , ++ esa bu tildagi qiymatni bittaga ko‘tarish belgisi hisoblanadi va bu belgi C++ dasturlash tilida paydo bo‘lgan. C++ dasturlash tili kompilyasiya qilinadigan til hisoblanadi , bu degani yozilgan kod oldin mashina tiliga o‘giriladi va keyin ishga tushiriladi deganidir. C ++ 1980 yilda Bell Laboratories da Bern Straustrup tomonidan ob’ektga mo‘ljallangan dasturlash tillari(OMDT) kabi ishlab chiqildi Asosiy qisim: Reja: 1. C ++ dasturi. C++ builder muhitida ishlash

2. C++ dasturlash tilida if va switch buyruqlari 3. C++ builder muhitida grafik shakllarni chizish Byorn Stroustrup o'zining ehtiyojlari uchun C dasturlash tiliga bir qator yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash imkoniyatini qo'shdi va shu bilan C sinttaksisi asosida yangi dasturlash tili uchun zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili "C ++ dasturlash tili" deb o'zgartirildi. C++ Cga ob'ektga yo'naltirilganlik xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini mavjud:, meros (nasledovaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan funktsiyadir. Usullar sinf tanasida e'lon qilinadi. Meros (Nasledovaniye) C ++ tilida bitta sinf xossa- xususiyatlarini boshqa sinf meros qilib olishi mumkin. Merosxo`r klass o'z maydonlarini va funktsiyalarini yaratishi yoki asosiy sinfning funktsiyalarini qayta aniqlashi mumkin. Merosxo'r konstruktor asosiy sinf konstruktorlarini chaqiradi. Destruktor esa teskari tartibda ishlaydi. Meros umumiy(publik), himoyalangan (Protected) va xususiy (private) bo`lishi mumkin. Polimorfizm Ob'ektga yo'naltirilgan dasturlashda qo'llaniladigan polimorfizmning maqsadi, sinf uchun umumiy bo'lgan harakatlarni belgilash uchun bitta nomdan foydala-nishdir. Har bir harakatning bajarilishi ma'lumotlar turiga qarab belgilanadi. Polimorfizmning afzalligi shundaki, u bitta interfeysdan foydalanib yagona harakatlar sinfini aniqlashga imkon berish orqali dasturlarni soddalashtirishga yordam beradi. Inkapsulatsiya C++ da ma'lumotlarni tashkil qilish klasslar orqali amalga oshiriladi. C++ klassi maydonlar, turlar va funktsiyalaridan iborat bo'ladi. C++ tilidagi inkapsulatsiya klass a'zolarining ta’sir doirasini belgilaydi: ular ommaviy, himoyalangan va xususiy bo`lishi mumkin. Standart kutubxona C ++ dasturlash tilida standart kutubxona sinflar va funktsiyalar to'plamini anglatadi. Standart kutubxona bir nechta asosiy konteynerlarni, ushbu konteynerlar bilan ishlash funktsiyalarini, ob'ektlarni, satr va oqimlarning asosiy turlarini, ba'zi til xususiyatlarini va amallarni bajarish uchun tez-tez ishlatiladigan funktsiyalarni o`z ichiga oladi. Masalan, sonning kvadrat ildizini topish. Standart kutubxonaning funktsional xususiyatlari std nomlar fazosida e'lon qilinadi. C dasturlash tilidan dan farqli tomonlari: