Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<cstring>
- using namespace std;
- class UmetnickoDelo
- {
- protected:
- int godina;
- char *avtor;
- float cena;
- public:
- UmetnickoDelo(char *avtor="",int godina=0,float cena=0.0)
- {
- this->godina=godina;
- this->cena=cena;
- this->avtor=new char[strlen(avtor)+1];
- strcpy(this->avtor,avtor);
- }
- virtual float presmetajCena()=0;
- bool operator>(UmetnickoDelo &u)
- {
- return this->presmetajCena() > u.presmetajCena();
- }
- friend ostream& operator<< (ostream &output,UmetnickoDelo &u)
- {
- output<<u.avtor<<" "<<u.godina<<" "<<u.presmetajCena()<<endl;
- return output;
- }
- virtual ~UmetnickoDelo()
- {
- delete [] this->avtor;
- }
- };
- class MuzickoDelo : public UmetnickoDelo
- {
- private:
- char zanr[30];
- static int x;
- public:
- MuzickoDelo(char *avtor="",int godina=0,float cena=0.0,char zanr[50]=""):UmetnickoDelo(avtor,godina,cena)
- {
- strcpy(this->zanr,zanr);
- }
- float presmetajCena()
- {
- if(godina>=1601 && godina<=1700)
- return cena+(cena*x/100.0);
- return this->cena;
- }
- static void setX(int y) { MuzickoDelo::x=y; }
- static int getX() { return MuzickoDelo::x; }
- };
- int MuzickoDelo::x=20;
- class SlikarskoDelo : public UmetnickoDelo
- {
- private:
- char tehnika[30];
- int oshtetenost;
- public:
- SlikarskoDelo(char *avtor="",int godina=0,float cena=0.0,char tehnika[30]="",int oshtetenost=0):UmetnickoDelo(avtor,godina,cena)
- {
- strcpy(this->tehnika,tehnika);
- this->oshtetenost=oshtetenost;
- }
- float presmetajCena()
- {
- return cena-(cena*oshtetenost/100.00);
- }
- };
- void najskapoDelo (UmetnickoDelo** dela, int n)
- {
- int maxCena=dela[0]->presmetajCena();
- int index=-1;
- for(int i=1;i<n;i++)
- {
- if(dela[i]->presmetajCena() > maxCena)
- {
- maxCena=dela[i]->presmetajCena();
- index=i;
- }
- }
- cout<<*dela[index];
- }
- int main()
- {
- UmetnickoDelo** dela = new UmetnickoDelo*[3];
- dela[0] = new SlikarskoDelo ("sdelo1", 1222, 1000, "tehn1", 50);
- cout<<*dela[0];
- dela[1] = new MuzickoDelo ("mdelo1", 1622, 1000, "zanr1");
- cout<<*dela[1];
- dela[2] = new MuzickoDelo ("mdelo2", 2004, 500, "zanr2");
- cout<<*dela[2];
- cout<<endl;
- cout<<"Najskapo Delo: " << endl;
- najskapoDelo(dela, 3);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement