Javoblar Dasturlash asoslari


Boshqa sinflarni o'z ichiga olgan sinflar



Download 132,23 Kb.
bet32/40
Sana06.07.2022
Hajmi132,23 Kb.
#743820
1   ...   28   29   30   31   32   33   34   35   ...   40
Bog'liq
Javoblar Dasturlash asoslari

Boshqa sinflarni o'z ichiga olgan sinflar. Ba'zi sinflar a'zo o'zgaruvchilari sifatida boshqa sinflarni o'z ichiga olishi mumkin. Odatiy bo'lib, tashqi sinf yaratishda a'zo o'zgaruvchilar uchun standart konstruktorlar chaqiriladi. Bu konstruktor tanasi bajarilishidan oldin sodir bo'ladi. Buni quyidagicha ko'rsatish mumkin:
#include
class A { public: A()
{ std::cout << "A\n"; } };
class B
{ private: A m_a; // B a'zo o'zgaruvchi sifatida A ni o'z ichiga oladi
public: B() { std::cout << "B\n"; } };
int main()
{ B b; return 0; }
112. C++da sinflar yaratish va uning metodlari hosil qilish
#include
class DateClass
{ int m_day; //jimlik bo’yicha yopiq
int m_month; int m_year;
public:
void setDate(int day, int month, int year) // ochiq
{ // setDate () usuli sinfning yopiq a'zolaridan foydalana oladi, chunki u o'zi sinf a'zosi
m_day = day; m_month = month; m_year = year; }
void print() // ochiq, har qanday ob'ekt kirish huquqiga ega
{ std::cout << m_day << "/" << m_month << "/" << m_year; } };
int main()
{ DateClass date; date.setDate(12, 11, 2018); //bu to’g’ri date.print(); // to’g’ri, chunki print() ochiq foydalanish xususiyatiga ega return 0; }
113. C++da sinflar yaratish va uning xossalarini hosil qilish
#include
using namespace std;
class Student
{ const int yearMonth = 9; int m_ID; string m_name; int m_nowYear; int m_YearOfAdm; int m_nowMonth;
public:
void setData(int ID, string name, int nowYear, int yearOfAdm, int nowMonth)
{ m_ID = ID; m_name = name; m_nowYear = nowYear; m_YearOfAdm = yearOfAdm; m_nowMonth = nowMonth; }
int getCourse()
{ int course = m_nowYear - m_YearOfAdm;
if(course>=0) { if(m_nowMonth - yearMonth>=0) course++; } return course; } };
int main()

{ Student Talaba;


int course;
Talaba.setData(123,"Anvar",2020,2020,9);
course = Talaba.getCourse();
cout<<"Talaba "<114. C++da sinflar tarkibidagi setterlar
Sinf - bu bizning dasturimizda foydalanishimiz mumkin bo'lgan foydalanuvchi belgilaydigan ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni yaratish uchun "reja" sifatida ishlaydi. GETTER VA SETTER - Getter va setter tushunchasi ma'lumotlarni yashirish konsepsiyasini qo'llab-quvvatlaydi. Boshqa ob'ektlar ob'ektlardan birida joylashgan ma'lumotlarni to'g'ridan -to'g'ri boshqarishi shart emasligi sababli, qabul qiluvchilar va o'rnatuvchilar ob'ekt ma'lumotlariga boshqariladigan kirishni ta'minlaydi. Qabul qiluvchilar va o'rnatuvchilar ba'zan mos ravishda aksessuarlar va o'zgartirish usullari deb ataladi.
Odatda kirish funksiyalari ikki xil bo'ladi: 1. getterlar - bu sinfning yopiq a'zo o'zgaruvchilarining qiymatlarini qaytaradigan funksiyalar; 2. setterlar - bu sinfning yopiq a'zo o'zgaruvchilariga qiymatlarni belgilashga imkon beradigan funksiyalar. Bu yerda barcha yopiq a'zo o'zgaruvchilari uchun getter va setterlardan foydalanadigan sinfning misoli:
class Date
{ private: int m_day; int m_month; int m_year;
public: int getDay()
{ return m_day; } // day uchun
getter void setDay(int day)
{ m_day = day; } // day uchun setter
int getMonth() { return m_month; } // month uchun getter
void setMonth(int month)
{ m_month = month; } // month uchun setter
int getYear() { return m_year; } // year uchun gettter
void setYear(int year) { m_year = year; } // year uchun setter };

115. C++da sinflar tarkibidagi getterlar


Odatda kirish funksiyalari ikki xil bo'ladi: 1. getterlar - bu sinfning yopiq a'zo o'zgaruvchilarining qiymatlarini qaytaradigan funksiyalar; 2. setterlar - bu sinfning yopiq a'zo o'zgaruvchilariga qiymatlarni belgilashga imkon beradigan funksiyalar. Bu yerda barcha yopiq a'zo o'zgaruvchilari uchun getter va setterlardan foydalanadigan sinfning misoli:
class Date
{ private: int m_day; int m_month; int m_year;
public: int getDay()
{ return m_day; } // day uchun
getter void setDay(int day)
{ m_day = day; } // day uchun setter
int getMonth() { return m_month; } // month uchun getter
void setMonth(int month)
{ m_month = month; } // month uchun setter
int getYear() { return m_year; } // year uchun gettter
void setYear(int year) { m_year = year; } // year uchun setter };

Download 132,23 Kb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish