Laboratoriya ishi-1


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



Yüklə 409,5 Kb.
səhifə2/3
tarix12.09.2023
ölçüsü409,5 Kb.
#142720
1   2   3
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();
}

Yüklə 409,5 Kb.

Dostları ilə paylaş:
1   2   3




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