Amaliy topshiriqlar



Download 146,88 Kb.
bet2/3
Sana02.03.2022
Hajmi146,88 Kb.
#479358
1   2   3
Bog'liq
Amaliy topshiriqlar 4 lab

23. Vorislik


Ushbu bo‘limda qo‘yilgan masala mazmunidan kelib chiqqan masalaning umumiy xususiytlarini o‘z ichiga olgan tayanch sinf yaratilishi va undan voris sifatida hosil bo‘lgan sinf esa bevosita qo‘yillgan masalani yechishi kerak. Masala voris sinf ob‘yektini e‘lon qilib echiladi.
Namunaviy masala
Berilgan butun n, va haqiqiy x va y qiymatlari uchun ifoda hisoblansin.


Yechish usuli
Berilgan ifoda qiymati uchta ifoda ostilari qiymatlarini alohida hisoblash va mos arifmetik amallar bajarish ko‘rinishida bajariladi. Har bir ifoda o‘zaro vorislik munosabatida bo‘lgan uchta sinf obyektlari sifatida qaraladi.
Tayanch sinf sifatida ifodani hisoblash uchun yaratilgan Ifoda_x_n sinfi bo‘lib, uning tarkibiga butun n, haqiqiy x berilgan-a’zolari, berilgan-a’zolarga qiymat beruvchi konstruktor, nusxalash konstruktori va bevosita qiymaini hisoblaydigan Hisobla() funksiya-a’zosi kiradi.
Tayanch Ifoda_x_n vorisi sifatida ifoda osti uchun Ifoda_x_y sinfi yaratilgan. Unda haqiqiy y berilgan-a’zo aniqlangan bo‘lib, x qiymati tayanch sinfdan voris sifatida olinadi. Ifoda ostilari o‘zaro bog‘liqligini inobatga oladigan bo‘lsak, Ifoda_x_y sinfi obyekti Ifoda_x_n obyekt mavjud bo‘lgandagina yuzaga kelishi mumkin va shu sababli unda nusxalash konstruktorlari qo‘llanilgan. Hisobla() funksiyasi ifoda ostisi qiymatini hisoblaydi.
O‘z navbatida ifoda ostisi uchun Ifoda_10_y sinfi Ifoda_x_y sinfi vorisi qilib aniqlangan. Unda berilgan-a’zolar yo‘q, y qiymati ajdod sinflardan vorislik bo‘yicha olinadi. Hisobla() funksiya-a’zosi qiymatini hisoblaydi.
Qo‘yilgan masala mazmuniga ko‘ra sinflar obyektlarini aniqlash qat’iy ketma-katlikda amalga oshiriladi. Oldin Ifoda_x_n, keyin unga bog‘liq Ifoda_x_y obyekti va nihoyat Ifoda_10_y sinf obyektlari aniqlanadi va umumiy ifoda qiymati hisoblanadi.
Programma matni
Unit_Ifoda.h fayli:
class Ifoda_x_n
{
protected:
double x;
int n;
public:
Ifoda_x_n(int _n, double _x){ n=_n; x=_x;}
Ifoda_x_n(Ifoda_x_n & if1){ n=if1.n; x=if1.x; }
double Hisobla(){ return pow(x,n);}
};
class Ifoda_x_y:public Ifoda_x_n
{
protected:
double y;
public:
Ifoda_x_y(double _y,Ifoda_x_n & if1):Ifoda_x_n(if1) { y=_y; }
Ifoda_x_y(Ifoda_x_y & if12): Ifoda_x_n(if12.n,if12.x) { y=if12.y;}
double Hisobla(){ return pow(x,y);}
};
class Ifoda_10_y:public Ifoda_x_y
{
public:
Ifoda_10_y(Ifoda_x_y& if_1_2):Ifoda_x_y(if_1_2){}
double Hisobla(){return pow(10,y);}
};
Ifoda_x_n * if_xn;
Ifoda_x_y* if_xy;
Ifoda_10_y * if_10y;

Download 146,88 Kb.

Do'stlaringiz bilan baham:
1   2   3




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