Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Sportist {
- private:
- string ime;
- float bmi;
- int aktivni;
- public:
- Sportist () {}
- Sportist(string ime, float bmi ,int aktivni) {
- this->ime = ime;
- this->bmi = bmi;
- this->aktivni = aktivni;
- }
- Sportist(const Sportist &tmp) {
- this->ime = tmp.ime;
- this->bmi = tmp.bmi;
- this->aktivni = tmp.aktivni;
- }
- ~Sportist() {}
- virtual void print() {
- cout << "Ime: " << ime << " bmi: " << bmi << " aktivni: " << aktivni << endl;
- }
- virtual float presmetajKalorii() {
- float f = 100 + (aktivni * 1.1);
- float razlika = bmi - 21.7;
- return f + (20 * razlika);
- }
- };
- class Maratonci : public Sportist {
- private:
- float km;
- public:
- Maratonci() : Sportist() {}
- Maratonci(string ime, float bmi ,int aktivni, float km) : Sportist(ime, bmi, aktivni) {
- this->km = km;
- }
- Maratonci(const Maratonci &tmp) : Sportist(tmp) {
- this->km = tmp.km;
- }
- ~Maratonci() {}
- virtual void print() override {
- Sportist::print();
- cout << "KM: " << km << endl;
- }
- virtual float presmetajKalorii() override {
- float f = Sportist::presmetajKalorii();
- f += 30 * km;
- return f;
- }
- };
- class Velosipedisti : public Sportist {
- private:
- int razlika;
- bool sami;
- public:
- Velosipedisti() : Sportist() {}
- Velosipedisti(string ime, float bmi ,int aktivni, int razlika, bool sami) : Sportist(ime, bmi, aktivni) {
- this->razlika = razlika;
- this->sami = sami;
- }
- Velosipedisti(const Velosipedisti & tmp) : Sportist(tmp) {
- this->razlika = tmp.razlika;
- this->sami = tmp.sami;
- }
- ~Velosipedisti() {}
- virtual void print() override {
- Sportist::print();
- cout << "Razlika: " << razlika << " " << sami << endl;
- }
- virtual float presmetajKalorii() override {
- float f = Sportist::presmetajKalorii();
- float m = razlika / 500;
- f += m * 40;
- if(!sami) {
- f = f - (0.2 * f);
- }
- return f;
- }
- };
- int main() {
- Sportist * niza[3];
- niza[0] = new Sportist("A", 50, 100);
- niza[1] = new Maratonci("B", 60, 300, 5);
- niza[2] = new Velosipedisti("C", 70, 700, 600, false);
- niza[0]->print();
- cout << niza[0]->presmetajKalorii() << endl;
- niza[1]->print();
- cout << niza[1] -> presmetajKalorii() << endl;
- niza[2]->print();
- cout << niza[2]->presmetajKalorii() << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment