Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 2000UZS
Размер 949.0KB
Покупки 0
Дата загрузки 07 Ноябрь 2026
Расширение docx
Раздел Рефераты
Предмет Педагогика

Продавец

Bohodir Jalolov

Sinfning statik a’zolari va metodlari

Купить
Sinfning statik a’zolari va metodlari
Statik oʻzgaruvchilar oʻz qiymatlarini saqlab qoladi va ular e'lon qilingan blokdan   
chiqqandan keyin ham yoʻq qilinmaydi (1-misol).
1-misol.
#include <iostream>
using namespace std; 
int generateID()
{
 static int s_id = 0;
 return ++s_id;
}
int main()
{
 cout << generateID() << '\n';
 cout << generateID() << '\n';
 cout << generateID() << '\n';
 return 0;
}
Dastur natijasi:
1
2
3
s_id  statik oʻzgaruvchisi generateID() funksiyasiga har bir chaqiruvdan keyin oʻz  
qiymatini saqlab qolishini unutmang.
static  kalit soʻz global oʻzgaruvchilarga kelganda boshqacha ma'noga ega – bu 
ularga   ichki aloqani ta'minlaydi (bu ularning koʻrinishini / aniqlangan fayl 
tashqarisida ishlatilishini  cheklaydi). Globallardan foydalanish yomon boʻlgani 
uchun,  static  kalit soʻz bu kontekstda  tez-tez ishlatilmaydi. C++ tilida static kalit soʻzni sinflarda ishlatish mumkin:  statik oʻzgaruvchi-a’zolar 
va  statik metodlar. 
Sinf oʻzgaruvchi-a’zolari bilan static kalit soʻzga kirishdan oldin, birinchi navbatda  
quyidagi sinfni koʻrib chiqaylik. (2-misol).
2-misol
#include <iostream>
class Anything
{
public:
 int m_value = 3;
};
int main()
{
 Anything first;
 Anything second; 
 first.m_value = 4;
 cout << first.m_value << '\n';
 cout << second.m_value << '\n';
 return 0;
}
Sinf obyektini yaratishda har bir obyekt oʻz sinfining barcha oʻzgaruvchi-
a’zolarining  nusxasini oladi. Bu holda, Anything sinfining ikkita obyektini e'lon 
qilganimiz uchun,  m_value   ning ikkita nusxasi boʻladi:  first.m_value  va 
second.m_value.  Bu har xil qiymatlar, shuning  uchun dasturni bajarish natijasi:
4
3
Sinf a’zolari oʻzgaruvchilari  static  kalit soʻz yordamida statik boʻlishi mumkin. 
Oddiy  a’zolar oʻzgaruvchilardan farqli oʻlaroq, statik a’zolar oʻzgaruvchilari 
sinfning barcha obyektlari uchun umumiydir. Quyidagi dasturni (3-misol) koʻrib 
chiqaylik: 3-misol
#include <iostream>
using namespace std;
class Anything
{
public:
 static int s_value;
};
int Anything::s_value = 3;
int main()
{
 Anything first;
 Anything second;
 first.s_value = 4;
 cout << first.s_value << '\n';
 cout << second.s_value << '\n';
 return 0;
}
Dasturni bajarilish natijasi:
4
4
s_value  statik a’zo oʻzgaruvchisi boʻlgani uchun, Anything sinfining barcha 
obyektlari  uchun umumiydir. Shunday qilib,  first.s_value second.s_value  bilan bir
xil oʻzgaruvchidir. 
3-misoldagi dastur shuni koʻrsatadiki, birinchi obyekt orqali oʻrnatgan qiymatga 
ikkinchi obyekt orqali ham kirish mumkin.
Statik a’zolar sinf obyektlari bilan bogʻliq emas. Statik a’zolarga har xil sinf 
obyektlari  orqali kirishingiz mumkin boʻlsa (yuqoridagi misolda boʻlgani kabi), 
statik a’zolar sinf obyektlari yaratilmagan boʻlsa ham mavjud ekanligi ayon boʻladi. Global oʻzgaruvchilar  singari, ular dastur ishga tushganda yaratiladi va dastur 
bajarilgandan soʻng yoʻq qilinadi.
Shunday qilib, statik a’zolar sinfga tegishli boʻlib, bu sinf obyektlariga tegishli 
emas. 
s_value  har qanday sinf obyektlaridan mustaqil ravishda mavjud boʻlganligi 
sababli, unga  toʻgʻridan-toʻgʻri sinf nomi va koʻrinish sohasini aniqlash operatori 
orqali kirish mumkin (bu holda Anything::s_value orqali, 4-misol)
4-misol
#include <iostream>
class Anything
{
public:
 static int s_value; // statik a’zo oʻzgaruvchini e'lon qilish
};
int Anything::s_value = 3; // statik a’zo oʻzgaruvchini aniqlash
int main()
{
 // Eslatma: Biz bu holatda Anything obyektini yaratmaymiz.
 Anything::s_value = 4;
 cout << Anything::s_value << '\n';
 return 0;
}
Yuqoridagi dastur Anhything:: s_value ga sinf nomi orqali kirish mumkin, bu 
sinfning  obyekti orqali emas. E'tibor bering, hatto Anything sinfining obyektini 
ham yaratmaganmiz,  lekin hali ham Anything:: s_value ga kira olamiz va bu a’zo 
oʻzgaruvchidan foydalanishimiz    mumkin.
  Sinf a’zolarining statik oʻzgaruvchilarini aniqlash va initsializatsiyalash
Sinf tanasi ichida statik a’zolar oʻzgaruvchisini e'lon qilganimizda, kompilyatorga  
statik a’zolar oʻzgaruvchisi mavjudligi haqida ma’lumot beramiz, lekin uning ta'rifi 
haqida  emas. Statik a’zolar oʻzgaruvchilari alohida sinf obyektlarining bir qismi  boʻlmaganligi uchun    (ular global oʻzgaruvchilarga oʻxshash tarzda koʻrib chiqiladi 
va dastur ishga tushganda      initsializatsiyalanadi), statik a’zolarni sinf tanasidan 
tashqarida – global miqyosda aniq  belgilashingiz kerak.
Yuqoridagi dasturda bu quyidagi kod satri bilan amalga oshiriladi:
int Anything::s_value = 3; // statik a’zo //oʻzgaruvchini aniqlash
Bu holatda statik sinf a’zolarining oʻzgaruvchisini aniqladik va unga 3 qiymatini 
berdik. Agar initsializator koʻrsatilmagan boʻlsa, C++  s_value  ga 0 ni belgilaydi.
Statik a’zoning bu ta'rifi spetsifikatorlarga kirmaydi:  s_value  xususiy (private) 
boʻlsa  ham belgilashingiz va initsializatsiyalashingiz mumkin.
Agar sarlavha faylida sinf aniqlangan boʻlsa, unda statik a’zoning ta'rifi odatda sinf 
kodi bilan faylga joylashtiriladi (masalan, Anything.cpp). Agar sinf  .cpp   faylida 
aniqlangan  boʻlsa, unda statik a’zoning ta'rifi odatda toʻgʻridan-toʻgʻri sinf ostida 
yoziladi. Sarlavha     fayliga sinfning statik a’zosining ta'rifini yozmang (global 
oʻzgaruvchilar kabi). Agar bu sarlavha fayli bir necha bor kiritilgan boʻlsa, unda bir 
a’zoning bir nechta ta'rifini olasiz, bu esa kompilyatsiya xatosiga olib keladi.
Sinf tanasida statik a’zolarni aniqlash uchun bir nechta yechimlar mavjud.
 Birinchidan,  agar statik a’zo doimiy butun tur boʻlsa     (u char va boolni oʻz ichiga 
oladi) yoki doimiy     roʻyxatga olish boʻlsa, unda statik a’zo sinf tanasi ichida 
initsializatsiyalash mumkin (5-misol)
5-misol
class Anything
{
public:
 static const int s_value = 5; /* int tipidagi statik doimiy oʻzgaruvchi 
toʻgʻridantoʻgʻri e'lon qilinishi va initsializatsiyalanishi mumkin*/
};
Bu holatda statik a’zolar oʻzgaruvchisi butun sonli doimiy boʻlgani uchun, sinf  
tanasidan tashqaridagi ta'rifning qoʻshimcha qatori endi talab qilinmaydi.
Ikkinchidan, C++11 dan boshlab,  constexpr  ishga tushirilishini qoʻllab-
quvvatlaydigan  har qanday ma’lumot turidagi static constexpr a’zolari sinf tanasi 
ichida initsializatsiya  qilinishi mumkin (6-misol).
6-misol #include <array>
using namespace std;
class Anything
{
public:
 static constexpr double s_value = 3.4; // toʻgʻri
 static constexpr array<int, 3> s_array = { 3, 4, 5 }; // bu hatto constexprni  
initsializatsiyalashni qoʻllab-quvvatlaydigan sinflar bilan ishlaydi//
};
Sinfning statik a’zo o‘zgaruvchilaridan foydalanish. Sinflar ichidagi statik a’zo  
oʻzgaruvchilaridan foydalanishning asosiy sababi har bir sinf obyektiga oʻziga xos 
dentifikator    tayinlash uchundir (7-misol).
7-misol
#include <iostream>
class Anything
{
private:
 static int s_idGenerator;
 int m_id;
public:
 Anything() { m_id = s_idGenerator++; } // keyingi obyekt uchun identifikator 
qiymatini oshirish
 int getID() const { return m_id; }
};
// s_idGenerator -ni private boʻlsa ham belgilaymiz va initsializatsiyalaymiz.
// Bu yaxshi, chunki ta'rif spetsifikatorlarga kirmaydi
int Anything::s_idGenerator = 1; // IdGenerator 1 qiymati bilan initsializatsiya 
qilinadi int main()
{
 Anything first;
 Anything second;
 Anything third;
 cout << first.getID() << '\n';
 cout << second.getID() << '\n';
 cout << third.getID() << '\n';
 return 0;
}
Dasturni bajarish natijasi:
1
2
3
s_idGenerator  Anything sinfining barcha obyektlari uchun umumiy boʻlgani 
uchun,  Anything sinfining yangi obyektini yaratishda, konstruktor 
s_idGenerator ning joriy qiymatini  yozib oladi va keyin uni keyingi obyekt uchun 
oshiradi. Bu identifikatorlar Anything sinfining   har bir yaratilgan obyekti uchun 
yagona boʻlishini ta'minlaydi.
Statik a’zolar oʻzgaruvchilari, agar sinf ichki qidiruv jadvalidan foydalanishi kerak   
boʻlsa, foydali boʻlishi mumkin (masalan, oldindan hisoblangan qiymatlar 
toʻplamini saqlash  uchun ishlatiladigan qator). Qidiruv jadvalini statik qilib, 
sinfning barcha obyektlari uchun     faqat bitta nusxa yaratiladi (sinfning har bir 
obyekti uchun alohida nusxa emas). Bu xotirani  sezilarli darajada tejashga yordam
beradi.
 Sinfning statik metodlari
Yuqorida statik a’zo oʻzgaruvchilari uning obyektlari emas, balki sinfga tegishli 
a’zolar  ekanligini bilib oldik.
Statik metodlar.  Agar statik a’zo oʻzgaruvchilari ommaviy (public) boʻlsa, ularga  
toʻgʻridan-toʻgʻri sinf nomi va :: operatori orqali kirishimiz mumkin. Agar statik  a’zo     oʻzgaruvchilari xususiy (private) boʻlsa-chi? Quyidagi kodni (8-misol) koʻrib 
chiqaylik:
8-misol
class Anything
{
private:
 static int s_value;
};
int Anything::s_value = 3; // private boʻlsa ham, statik a’zoni aniqlash
int main()
{
 // Bu holatda Anything::s_valuega qanday kirish mumkin, agar s_value private 
boʻlsa?
}
Bunday holda, main() funksiyasidan Anything:: s_value  a’zosiga toʻgʻridan-toʻgʻri 
kira   olmaymiz, chunki bu a’zo xususiydir. Odatda, sinfning xususiy a’zolariga 
umumiy metodlar  orqali kirish mumkin.  s_value ga kirish uchun oddiy metodni 
yaratishimiz mumkin boʻlsa-da,    metoddan foydalanish uchun shu sinfning 
obyektini yaratishimiz kerak boʻlardi. Buning uchun    metodni statik qilishimiz 
kerak boʻladi.
Statik a’zo oʻzgaruvchilari singari, statik metodlar ham bitta sinf obyektiga  
bogʻlanmagan. Yuqoridagi misol(8-misolga qarang) statik metod bilan (9-misol) 
quyidagicha yoziladi.
9-misol
using namespace std;
class Anything
{
private:
 static int s_value;
public:  static int getValue() { return s_value; } // statik metod
};
int Anything::s_value = 3; //sinfning a’zo-oʻzgaruvchisining ta'rifi
int main()
{
 cout << Anything::getValue() << '\n';
}
Statik metodlar ma’lum bir obyektga bogʻlanmaganligi sababli, ularni toʻgʻridan 
toʻgʻri sinf nomi va :: operatori orqali, shuningdek sinf obyektlari orqali chaqirish 
mumkin  (lekin bu tavsiya qilinmaydi).
  Barcha   a’zolar   statik   boʻlgan   sinflarni   yozishda   ehtiyot   boʻlish   lozim.   Bu   „sof
statik sinflar“  foydali boʻlishi mumkin boʻlsa-da, ularning kamchiliklari ham bor.
Birinchidan,   barcha   statik   a’zolar   faqat   bir   marta   yaratilgani   uchun,   „sof   statik
sinf“   ning bir nechta nusxalari boʻlishi mumkin emas (sinfni klonlamasdan va uni
qayta     nomlamasdan).   Masalan,   agar   biz     IDGenerator   sinfining   ikkita   mustaqil
obyektiga muhtoj    boʻlsak, bu  "sof statik"  sinf orqali mumkin boʻlmaydi.
Ikkinchidan, global oʻzgaruvchilar haqidagi mavzudan bilamizki, global 
oʻzgaruvchilar  xavfli, chunki kodning har qanday qismi oʻz qiymatlarini 
oʻzgartirishi mumkin va     oxir -oqibat,  bu oʻzgaruvchilarga aloqasi yoʻqdek 
koʻrinadigan kodning boshqa qismlarini oʻzgartirishi     mumkin. Xuddi shu narsa 
„sof statik“  sinflar uchun ham amal qiladi. Hamma a’zolar sinfga  tegishli (va uning
obyektlariga emas) va sinflar global miqyosga ega boʻlgani uchun,  „sof statik  
sinf“ da global funksiyalar va oʻzgaruvchilarni ulardagi barcha kamchiliklar bilan 
e'lon qilamiz.
C++ statik konstruktorlarni qoʻllab-quvvatlamaydi. Agar konstruktor orqali oddiy 
a’zo   oʻzgaruvchini initsializatsiyalash mumkin boʻlsa, mantiqiy ravishda statik 
a’zo oʻz garuvchilarini statik konstruktor orqali initsializatsiyalash kerak va ba'zi 
zamonaviy dasturlash    tillari aynan shu maqsadda statik konstruktorlardan 
foydalanishni qoʻllab-quvvatlasa-da,   afsuski, C++ ulardan biri emas.
Agar statik oʻzgaruvchini toʻgʻridan-toʻgʻri initsializatsiyalashi mumkin boʻlsa, unda
konstruktor kerak emas. Agar xususiy private boʻlsa ham, statik a’zo 
oʻzgaruvchisini  belgilashingiz mumkin. 
Mavzu yuzasidan dasturlar 1-Dastur.
#include <iostream>
#include <string>
using namespace std;
class Kindergarten
{ private:
 string familya;
 string ismi;
 int yoshi;
public:
    Kindergarten (){}
    Kindergarten (string sname,string name,int age)
    {
    familya=sname;
    ismi=name;
    yoshi=age;
    }
    string getFamilya() {
    return familya;}
    void setFamilya(string sname) {
     familya=sname;}
     string getIsmi () {
     return ismi;}
     void setIsmi(string name) {
     ismi=name;}
     int getYoshi () {
     return yoshi;}
     void setYoshi (int age)
     {
         yoshi=age;
     }
};  int main()
{ Kindergarten odam1("Shermuhammadova","Durdona",4);
  Kindergarten odam2("Eshmurodov","Anvar",5);
  Kindergarten odam3("Vohidov","Sardor",5);
   cout<< "odam1"<<odam1.getFamilya()<<"  Ismi"<<odam1.getIsmi()<<" 
yoshi"<<odam1.getYoshi()<<endl;
   cout<< "odam2"<<odam2.getFamilya()<<"  Ismi"<<odam2.getIsmi()<<" 
yoshi"<<odam2.getYoshi()<<endl;
   cout<< "odam3"<<odam3.getFamilya()<<"  Ismi"<<odam3.getIsmi()<<" 
yoshi"<<odam3.getYoshi()<<endl;
return 0;
Dastur natijasi:
              
2- Dastur.
#include <iostream>
#include <string>
using namespace std;
class Hospital {
private:
    string lavozimi;     string ismi;
    int maosh;
public:
    Hospital () {}
    Hospital ( string lv,string name,int money)
     {
    lavozimi=lv;
    ismi=name;
    maosh=money;
    }
    string getLavozimi(){
    return lavozimi;}
    void setLavozimi (string lv)
    {
        lavozimi=lv;
    }
    string getIsmi (){
    return ismi;}
    void setIsmi (string name) {
        ismi=name;
    }
    int getMaosh (){
    return maosh;}
    void setMaosh (int money) {
    maosh=money;} };
    int main()
{ Hospital odam1("shifokor","Jasur",12300000);
 Hospital odam2("hamshira","Lola",2000000);
 Hospital odam3("qorovul","Sardor",1200000);     cout << "odam1"<<odam1.getLavozimi()<< "  ismi "<<odam1.getIsmi();
    cout <<  "  maoshi"<<odam1.getMaosh()<<endl;
      cout << "odam2"<<odam2.getLavozimi()<< "   ismi "<<odam2.getIsmi();
      cout<<  "  maoshi"<<odam2.getMaosh()<<endl;
 cout << "odam3"<<odam3.getLavozimi()<< "  ismi "<<odam3.getIsmi();
        cout<<  "  maoshi"<<odam3.getMaosh()<<endl;
 return 0;
}
Dastur natijasi:                  
3- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Book {
private:
  string  nomi;
    string yozuvchi;
    string muqova;
    int varoq;
public:
    Book () {}
    Book(string name,string sname,string mqv,int vr) {
     nomi= name;     yozuvchi=sname;
    muqova=mqv;
    varoq=vr; }
     string getNomi(){
     return nomi;}
     void setNomi (string name) {
     nomi=name;}
     string getYozuvchi(){
     return yozuvchi;}
     void setYozuvchi (string sname) {
     yozuvchi=sname;}
     string getMuqova() {
     return muqova;}
     void setMuqova (string mqv) {
     muqova=mqv;}
     int getVaroq () {
     return varoq;}
     void setVaroq (int vr) {
     varoq=vr;}
};
int main()
{ Book book1("o'tkan kunlar","Abdulla Qodiriy","qalin",232);
  Book book2("matematika","Durdona","yuqa",56);
  cout<<"kitob1-"<<book1.getNomi()<<" yozuvchi-"<<book1.getYozuvchi()<<endl;
  cout<<"  muqovasi-"<<book1.getMuqova()<<" varog'i-"<<book1.getVaroq()<<endl;
  cout<<"kitobi2-"<<book2.getNomi()<<" yozuvchi-"<<book2.getYozuvchi()<<endl;
  cout<<"  muqova-"<<book2.getMuqova()<<" varoq-"<<book2.getVaroq()<<endl;
return 0; }
Dastur natijasi: 4- Dastur :
#include <iostream>
#include <string>
using namespace std;
 class School
 { private:
     int number;
     int o’quvchi;
   public:
        School () {}
     School ( int m_number,int people)
     { number=m_number;
      o’quvchi=people;
    }
    void O’quvchilar()
    { cout<<number<<"-sonli maktabda "<<oquvchi<<" ta oquvchisi bor"<<endl;
     if (oquvchi>100 && oquvchi<200)
     cout<<"maktabdagi oquvchilar soni 100dan katta"<<endl;
     else {
        if (oquvchi>200 && oquvchi<300)
            cout<<"maktabdagi oquvchilar 200 dan katta"<<endl;
         else             cout<<"maktabdagi oquvchilar soni 300dan katta"<<endl;
         }
        }
     };
int main()
{ School obj1(56,120);
  School obj2(5,250);
  School obj3(6,360);
  obj1.Oquvchilar();
  obj2.Oquvchilar();
  obj3.Oquvchilar();
     return 0;
}
Dastur natijasi:
5- Dastur::
#include <iostream>
#include <string>
using namespace std;  class Kitob
 { private:
     string name;
     string yozuvchi;
     int varoq;
     int yil;
public:
    Kitob () {}
    Kitob(string nm,string yz,int vr,int year) {
     name=nm;
     yozuvchi=yz;
     varoq=vr;
     yil=year;
     }
      void asr() {
      if (yil/100>0)
      cout<<name<<" nomli kitob "<<yozuvchi<<" yozgan inson "<<varoq<<" varoqli kitob ";
        cout<<yil/100+1<<"-asrda kitob chiqqan"<<endl; }
 };
int main()
{ Kitob obj1("Vijdon","Durdona",230,2024);
 Kitob obj2("Armon","Saida",45,1992);
  obj1.asr();
  obj2.asr();
 return 0;
}
Dastur natijasi:          6- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Telephone{
private:
    string nomi;
    string rangi;
    int xotirasi;
    int kamerasi;
    int ilovalar;
    int yili;
    string kompaniya;
public:
    Telephone () {}
    Telephone(string name,string rng,int xt,int km,int ilova,int year,string kp)
    {
      nomi=name;
      rangi=rng;
      xotirasi=xt;
      kamerasi=km;
      ilovalar =ilova;
       yili=year;
      kompaniya=kp;
    }
    string getNomi() {           return nomi;
          }
    void setNomi(string name)    {
        nomi=name;}
    string getRangi(){
    return rangi;}
    void setRangi(string rng) {
    rangi= rng;
  }
   int getXotirasi(){
     return xotirasi;}
     void setXotirasi(int xt ){
      xotirasi=xt;
      }
      int getKamerasi(){
     return kamerasi;}
     void setKamerasi(int km ){
      kamerasi=km;
     }
     int getIlovalar (){
     return ilovalar;}
     void setIlovalar (int ilova ){
      ilovalar =ilova; }
      int getYili(){
     return  yili;}
     void setYili(int year ){
      yili=year; }
      string getKompaniya(){
     return kompaniya;}      void setKompaniya(string kp ){
      kompaniya=kp; }
};
  int main()
   {
 Telephone telefon1("Redmi 9","ko'k",128,48,30,2019,"Redmi");
 Telephone telefon2("Redmi 12","ko'k",128,52,20,2021,"Redmi");
 cout << "Nomi- " <<telefon1.getNomi();
cout<< " Rangi-" << telefon1.getRangi()<<" xotirasi-"<<telefon1.getXotirasi()<<" 
kamerasi"<<telefon1.getKamerasi()<<" ilovalar soni"<<telefon1.getIlovalar()<<" 
yili-"<<telefon1.getYili()<<" kompaniya-"<<telefon1.getKompaniya()<<endl;
 cout << "Nomi- " <<telefon2.getNomi();
cout<< " Rangi-" << telefon2.getRangi()<<" xotirasi-"<<telefon2.getXotirasi()<<" 
kamerasi"<<telefon2.getKamerasi()<<" ilovalar soni"<<telefon2.getIlovalar()<<" 
yili-"<<telefon2.getYili()<<" kompaniya-"<<telefon2.getKompaniya()<<endl;
return 0;
}
Dastur natijasi:
7- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Library {
private:
    static int numberOfKitob; public:
     static void setNumberOfKitob(int num) {
 numberOfKitob = num;
 }
 int initializeStaticVariable =
Library::numberOfKitob;
 static int getNumberOfKitob() {
 return numberOfKitob;
 }
};
int Library::numberOfKitob = 0;
int main()
{  Library::setNumberOfKitob(500000000);
 cout << "Kutubxonadagi kitobalr  soni: " <<
Library::getNumberOfKitob() << endl;
 return 0;
}
Dastur natijasi:
8- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Transport{ private:
 static string nameOfCar;
public:
  static void setNameOfCar(string name){
   nameOfCar=name;
   }
 string intializeStaticVarible=
 Transport::nameOfCar;
 static string getNameOfCar()
 {
     return nameOfCar;
 }
};
 string Transport::nameOfCar=" ";
int main()
{ Transport::setNameOfCar("BMW");
 cout<<"Menga yoqadigan transport:"<<Transport::getNameOfCar()<<endl;
    return 0;
}
Dastur natijasi:
9- Dastur:
#include <iostream>
#include <string>
using namespace std; class FootballClub {
private:
 static string nameOfClub;
public:
 static void setNameOfClub(string name){
  nameOfClub=name;}
string intializeStaticVarible=
FootballClub::nameOfClub;
 static string getNameOfClub(){
  return nameOfClub;}
};
 string FootballClub::nameOfClub=" ";
int main()
{ FootballClub::setNameOfClub("Real Madrid yoki Barcelona");
  cout<<"Eng yaxshi futbol klub qaysi?: "<<FootballClub::getNameOfClub()<<endl;
    return 0;
}
Dastur natijasi:
10- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Hokimyat {
private:     static string nameOfHokim;
public:
static void setNameOfHokim(string name){
nameOfHokim=name;
}
 string intializeStaticVarible=
 Hokimyat::nameOfHokim;
 static string getNameOfHokim(){
 return nameOfHokim;}
 };
 string Hokimyat::nameOfHokim=" ";
int main()
{  Hokimyat::setNameOfHokim("Shermuhammadova Durdona");
  cout<<"Hokimning ism familyasi:"<<Hokimyat::getNameOfHokim()<<endl;
    return 0;
}
Dastur natijasi:
11- Dastur:
#include <iostream>
#include <string>
using namespace std;
class Company
{ private:     static string nameOfCompany;
public:
     static void setNameOfCompany( string name){
      nameOfCompany=name;
      }
      string initializeStaticVariable=
      Company::nameOfCompany;
     static string getNameOfCompany (){
     return nameOfCompany;}
};
string Company::nameOfCompany=" ";
  int main(){
  Company::setNameOfCompany("Samsung");
  cout<<"Kompaniya nomi:"<<Company::getNameOfCompany()<<endl;
  return 0;
}
Dastur  natijasi:
12- dastur:
#include <iostream>
#include <string>
using namespace std;
class Employee{
private:
 static int NumberOfXodim; public:
 static void setNumberOfXodim( int num){
  NumberOfXodim=num;
  }
 int initializeStaticVariable =
Employee::NumberOfXodim;
 static int getNumberOfXodim() {
 return NumberOfXodim;
 }
};
int Employee::NumberOfXodim = 0;
int main()
{  Employee::setNumberOfXodim(205);
 cout << "Korxonadagi xodimlar   soni: " <<
Employee::getNumberOfXodim() << endl;
 return 0;
}
Dastur natijasi:

Sinfning statik a’zolari va metodlari

Купить
  • Похожие документы

  • 2001-yil sentabr voqealri va uning xalqaro munosabatlarga
  • 1945-1990-yillarda Buyuk Britaniya
  • 1918-1923 yillarda xalqaro munosabatlar, Versal Vashington siyetemasining tuzilishi
  • Ahmad al-farg‘oniy
  • Almashlab ekishni loyihalashtirish va joriy etish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha