1- laboratoriya ishi obyektga yo’naltirilgan dasturlash


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



Yüklə 174,13 Kb.
səhifə3/4
tarix25.03.2023
ölçüsü174,13 Kb.
#89913
1   2   3   4
1678362604 (2)

Natija:



1.3 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
usingnamespace std;
conststring QIMMAT_REJISSOR_1 = "Stiven Spilberg", QIMMAT_REJISSOR_2="Djeyms Kemeron";
classKinofilm {
protected:
string nomlanishi, rejissor;
int davomiyligi; //minutlarda
int aktyorlar_soni;
public:
Kinofilm(stringnom, stringrej, intdav, intakt) {
nomlanishi =nom;
rejissor =rej;
davomiyligi = dav;
aktyorlar_soni = akt;
}
virtualint 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";
}
};
classMultfilm :publicKinofilm {
public:
Multfilm(stringnom, stringrej, intdav, intakt) : 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();
}


Yüklə 174,13 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin