#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
**/