Laboratoriya ishi-1


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



Download 407,33 Kb.
bet2/3
Sana08.07.2022
Hajmi407,33 Kb.
#756476
1   2   3
Bog'liq
1-tajriba.Dasturlash 2

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


Ishning maqsadi: Polimorfizm(overload va override) metodlarni qayta e’lon qilish va qayta yuklash orqali dasturlash ko’nikmalarini shakllantirish.
Topshiriq: OYD ning merosxo’rlik va polimorfizm xususiyatlaridan foydalangan holda vazifaga muvofiq dasturni yozing.

  • Barcha classlarda class obyektlari yaratilishi kerak bo'lgan konstruktorlarni yozing.

  • Yaratiladigan obyektlarning parametrlari klaviaturadan (talaba xohlaganidek) kiritiladi va parametr sifatida konstruktorga uzatiladi.

  • Obyektlar haqida barcha ma'lumotlar chiqarilsin.

  • Virtual va do’st funksiyalar hamda do’st class lar yaratilsin.


Dastur:
#include
#include
using namespace std;
const string QIMMAT_REJISSOR_1 = "Stiven Spilberg", QIMMAT_REJISSOR_2="Djeyms Kemeron";
class Kinofilm {
protected:
string nomlanishi, rejissor;
int davomiyligi; //minutlarda
int aktyorlar_soni;
public:
Kinofilm(string nom, string rej, int dav, int akt) {
nomlanishi =nom;
rejissor =rej;
davomiyligi = dav;
aktyorlar_soni = akt;
}
virtual int narx() {
int narxi = davomiyligi * 20 + aktyorlar_soni * 30;
if (rejissor == QIMMAT_REJISSOR_1 || rejissor == QIMMAT_REJISSOR_2) {
narxi *= 2;
}
return narxi;
}
void axborot() {
cout <<"Nomlanishi: "<< nomlanishi << endl
<<"Rejissor: "<< rejissor << endl
<<"Davomiyligi: "<< davomiyligi << endl
<<"Aktyorlar soni: "<< aktyorlar_soni << endl
<<"Narxi: "<< narx() <<"\n\n";
}
};
class Multfilm :public Kinofilm {
public:
Multfilm(string nom, string rej, int dav, int akt) : Kinofilm(nom, rej, dav, akt){}
int narx() {
return davomiyligi * 25 + aktyorlar_soni * 10;
}
};
int main() {
//Ikkita film kiritish:
string nom, rej = QIMMAT_REJISSOR_1;
int dav, akt;
cout << rej <<"ning filmi nomini kiriting: "; getline(cin, nom);
cout << nom <<" filmi davomiyligi (minutlarda): "; cin >> dav;
cout << nom <<" filmi aktyorlar soni: "; cin >> akt; cin.ignore();
Kinofilm birinchi = Kinofilm(nom, rej, dav, akt);
rej ="Jorj Gofman";
cout << rej <<"ning filmi nomini kiriting: "; getline(cin, nom);
cout << nom <<" filmi davomiyligi (minutlarda): "; cin >> dav;
cout << nom <<" filmi aktyorlar soni: "; cin >> akt; cin.ignore();
Kinofilm ikkinchi = Kinofilm(nom, rej, dav, akt);
cout <<"Multfilm rejissori: "; getline(cin, rej);
cout << rej <<"ning multfilmi nomini kiriting: "; getline(cin, nom);
cout << nom <<" multfilmi davomiyligi (minutlarda): "; cin >> dav;
cout << nom <<" multfilmi aktyorlar soni: "; cin >> akt; cin.ignore();
Multfilm mulfilm = Multfilm(nom, rej, dav, akt);
cout <<"\n\nNatija:\n\n";
birinchi.axborot();
ikkinchi.axborot();
mulfilm.axborot();
}

Download 407,33 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