Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class HotelskaRezervacija {
- private:
- int denovi, lica;
- string ime;
- public:
- HotelskaRezervacija() {}
- HotelskaRezervacija(int _denovi, int _lica, string _ime) {
- denovi = _denovi;
- lica = _lica;
- ime = _ime;
- }
- virtual int vratiCena() {
- return denovi * lica * 25;
- }
- virtual int vratiCena(int uplata) {
- if(uplata >= vratiCena()) {
- return uplata - vratiCena();
- }
- else {
- cout << "Ne se dovolno parite, treba da se plati: " << vratiCena() << endl;
- return -1;
- }
- }
- int get_lica() {
- return lica;
- }
- int get_denovi() {
- return denovi;
- }
- };
- class Polupansion : public HotelskaRezervacija {
- private:
- public:
- Polupansion() : HotelskaRezervacija(){}
- Polupansion(int _denovi, int _lica, string _ime) : HotelskaRezervacija(_denovi, _lica, _ime){
- }
- int vratiCena() override {
- return HotelskaRezervacija::vratiCena() + get_lica() * get_denovi() * 5;
- }
- int vratiCena(int uplata) override {
- if(uplata >= vratiCena()) {
- return uplata - vratiCena();
- }
- else {
- cout << "Treba da se plati: " << vratiCena() << endl;
- return -1;
- }
- }
- };
- class Hotel {
- private:
- string ime;
- int saldo;
- public:
- Hotel() {}
- Hotel(string _ime, int _saldo) {
- ime = _ime;
- saldo = _saldo;
- }
- void uplatiRezervacija(HotelskaRezervacija &hr, int uplata) {
- int cena = hr.vratiCena(uplata);
- if(cena == -1) {
- cout << "NE USPESNA REZERVACIJA" << endl;
- }
- else {
- cout << "USPESNA REZERVACIJA" << endl;
- cout << cena << endl;
- saldo += uplata;
- }
- }
- };
- int main() {
- HotelskaRezervacija *hr = new Polupansion(5, 5, "Josif");
- Hotel h("marriot", 0);
- h.uplatiRezervacija(*hr, 1000);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement