#include using namespace std; class Vozilo { private: string marka; string model; int godina; float consumption; public: Vozilo() {} Vozilo(string _marka, string _model, int _godina, float _consumption) { marka = _marka; model = _model; godina = _godina; consumption = _consumption; } Vozilo(const Vozilo & tmp) { marka = tmp.marka; model = tmp.model; godina = tmp.godina; consumption = tmp.consumption; } virtual ~Vozilo() {} virtual void print() { cout << marka << " " << model << " " << godina << " " << consumption << endl; } virtual int value() { return godina * consumption; } }; class Avtomobil : public Vozilo { private: int garancija; public: Avtomobil() : Vozilo() {} Avtomobil(string _marka, string _model, int _godina, float _consumption, int _garancija) : Vozilo(_marka, _model, _godina, _consumption) { garancija = _garancija; } Avtomobil(const Avtomobil & tmp) : Vozilo(tmp) { garancija = tmp.garancija; } virtual ~Avtomobil() {} virtual void print() override { Vozilo::print(); cout << garancija << endl; } virtual int value() override{ int original_value = Vozilo::value(); return original_value + garancija * 10; } }; class Kamion : public Vozilo { private: int tezhina; public: Kamion() : Vozilo() {} Kamion(string _marka, string _model, int _godina, float _consumption, int _tezhina) : Vozilo(_marka, _model, _godina, _consumption) { tezhina = _tezhina; } Kamion(const Kamion & tmp) : Vozilo(tmp) { tezhina = tmp.tezhina; } virtual ~Kamion() {} virtual void print() override { Vozilo::print(); cout << tezhina << endl; } virtual int value() override{ int original_value = Vozilo::value(); return original_value + tezhina; } }; void najgolema_vrednost(Vozilo ** niza, int n) { int najgolema_vrednost = niza[0]->value(); for(int i = 0; i < n; i++) { if(niza[i]->value() > najgolema_vrednost) { najgolema_vrednost = niza[i]->value(); } } cout << najgolema_vrednost << endl; } int main() { Vozilo * car = new Avtomobil("audi", "a3", 7, 5, 15); Vozilo * truck = new Kamion("man", "man", 15, 20, 5000); Vozilo * niza[2]; niza[0] = car; niza[1] = truck; najgolema_vrednost(niza, 2); return 0; } /* 9 i s p i t p s p **/