8. Ruchka va Qalam class larini yarating va ularni bog’lovchi funksiyalar yarating



Download 74,95 Kb.
Sana02.01.2022
Hajmi74,95 Kb.
#52272
Bog'liq
1 labaratoriya.Qadamboyev Farrux


Laboratoriya ishi 1. SWD001-L1 Qadamboyev Farrux

8.Ruchka va Qalam class larini yarating va ularni bog’lovchi funksiyalar yarating

#include

#include

using namespace std;

class Boglash {

private:


string rang;

string firma;

public:

Boglash (string rang, string firma){

this-> rang = rang;

this-> firma= firma ;

}

virtual string getrang(){



return rang;

}

virtual string getfirma(){



return firma;

}

};



class Ruchka: public Boglash {

public:

Ruchka (string rrang, string rfirma): Boglash (rrang, rfirma){}

};

class Qalam : public Boglash {



public:

Qalam (string Qrang, string Qfirma ): Boglash (Qrang, Qfirma){}

};

int main (){



Ruchka R= Ruchka ( "ko'k ", "alfa" );

Qalam Q= Qalam ( "qora ", "delphin" );

cout<<"\n ";

cout<<"Ruchka rangi: "<

cout<<"Ruchka soni : "<

cout<<"__________________________________\n ";

cout<<"Qalam rangi : "<

cout<<"Qalam soni : "<

system("pause"); }



    1. Classlar o’rtasida vorislikni tashkil qilish. Overriding va overloading bo’ladigan funksiyalarni yaratish



8

Kitob:

nomi, muallifi, nashr yili



Kitob do’koni:

nomi, muallifi, nashr yili, narxi

Agar hozirgi yil bilan hisoblaganda kitob nashr qilinganiga 5 yildan oshgan bo’lsa uning narxini 20% ga arzonlashtiring.

Dastur ko’di:

#include

#include

using namespace std;

class Shopbook{

private:


string bookname;

string bookafter;

int makeyear, booknarx ;

public:


Shopbook (string booknam, string bookafte, int makeyea , int booknar){

bookname=booknam; bookafter=bookafte; makeyear=makeyea; booknarx=booknar; }

string getname (){

return bookname;

}

string getafter (){



return bookafter;

}

int getyear (){



return makeyear;

}

int getnarx (){



return booknarx;

}

int getchegirma (){



int chegirnarx=getnarx();

if (makeyear<=2015){

chegirnarx=0.8*chegirnarx;

}

return chegirnarx;



}

Shopbook(){};

};

int main (){



string n,m;

int y,p;

cout<<"\n Kitob nomini kiriting : "; cin>>n;

cout<<" Kitob muallifini kiriting: "; cin>>m;

cout<<" Kitob chiqgann yilni kiriting : "; cin>>y;

cout<<" Kitob narxini kiriting : "; cin>>p;

cout<<"_________________________________________________\n\n";

Shopbook shop (n,m,y,p);

cout<<" kitob nomi : "<

cout<<" kitob mualifi: "<

cout<<" kitob chop qilingan : "<

cout<<" kitobga chegirma : ";

if (shop.getchegirma()==shop.getnarx()){

cout<<" yo'q \n";

cout<<" Avvalgi narxda qoldi: "<

}

else cout<<" bor: "<

}

Natija:



    1. OYD ning merosxo’rlik va polimorfizm xususiyatlaridan foydalangan holda vazifaga muvofiq dasturlar yaratish






Doira” classini yarating. Maydoni: aylana radiusi (R). Virtual metod yozing: “Yuza” metodi doira yuzini qaytaradi, shuningdek, “Kattalashtirish” metodi bitta haqiqiy tipli necha marta kattalashtirishligini anglatuvchi parameter va radiusni shuncha marta kattalashtirsin. “Ma’lumot” metodi doira haqida ma’lumotlarni ekranga chiqaradi: radius va yuzasi.

Bundan tashqari, “doira2” nomli avlod class yarating. Qo'shimcha parametr - ichki radius (ri), ajdod classdagi radius tashqi radiusni ifodalaydi. Qayta yuklangan “Yuza” metodi tashqi doira yuzi va ichki doira yuzi orasidagi yuzani hisoblaydi. Bundan tashqari, “Kattalashtirish” metodini ichki radius uchun amalga oshiring. “Ma’lumot” metodi doira2 haqida ma’lumotlarni ekranga chiqaradi: radius va yuzasi.

Asosiy dasturda doira va doira2 shakllarni yarating va ular haqida ma’lumotlarni chiqaring. Shundan so'ng ikkala obyektni bir yarim marta oshiring va yangilangan ma'lumotlarni taqdim eting.


Dastur ko’di:

#include

#include

#include

using namespace std;

namespace Aylana {

class Doira {

private:

float radius, kradius, yuza;

public:


Doira(){};

Doira (float radius ): radius(radius){}

virtual float Yuza (){

yuza= pow(radius,2)*3.14 ;

return yuza;

}

virtual float Kattalashtirish (float katta){



kradius= radius;

kradius= (katta) * (radius);

yuza= (kradius)* (kradius)*3.14;

cout<<" Kattalashgan radius : "<

cout<<" Aylananing yuzasi : "<

}

virtual void Malumot (){



cout<<" aylana radiusi : "<

cout<<" aylana yuzasi : "<

}

};


class Doira2 : public Doira {

private:

float radius , kradius, iradius, oyuza;

public:


Doira2 (float radius, float iradius): radius(radius), iradius(iradius){}

float Yuza ( ) {

oyuza= (pow( radius, 2)-pow(iradius, 2) ) *3.14;

return oyuza;

}

float Kattalashtirish(float katta ) {



kradius= iradius* (katta);

oyuza= (pow((katta *radius),2)-pow((kradius),2))*3.14;

cout<<" Kattalashgan radius : "<

cout<<" ichki aylana yuzasi : "<

}

void Malumot(){



cout<<" tashqi aylana radiusi: "<

cout<<" ichki aylana radius : "<

cout<<" ichki va tashqi aylanalar orasi yuzasi : "<

}

};



}

using namespace Aylana;

int main (){

Doira d= Doira (5);

Doira2 D= Doira2 (5,3);

cout<<"\n\n";

d.Malumot();

cout<<"________________________________________________________\n";

D.Malumot();

cout<<"_________________________________________________________\n";

cout<<" kattalashgan aylanalar \n";

cout<<"__________________________________________________________\n";

d.Kattalashtirish(1.5);

cout<<"_____________________________________________________\n";

D.Kattalashtirish(1.5);

}

Natija:




Download 74,95 Kb.

Do'stlaringiz bilan baham:




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