Zdrojáky - objektové 4/5

#include<iostream>
#include<stdlib.h>

using namespace std;

class Utvar
{
public:
virtual void vykreslit()=0;
};
class Stvorec:public Utvar
{
public:
void vykreslit()
{
cout<<"Kreslim stvorec"<<endl;
}
};
class Kruh:public Utvar
{
public:
void vykreslit()
{
cout<<"Kreslim kruh"<<endl;
}
};

int main()
{
Utvar*obrazce[10];
for(int i=0;i<10;i++)
{
if(rand()>10000)
obrazce[i]=new Kruh();
else
obrazce[i]=new Stvorec();
}
for(i=0;i<10;i++)
obrazce[i]->vykreslit();
}

#include <iostream>
#include <string>
#include <vector>
using namespace std;



class Dodavatel {
string meno;
public:
Dodavatel(string m){meno=m;}
string getmeno(){return meno;}
void setmeno(string m) {this->meno = m;}
};

class Ovocie {
protected:
int kupene, predane;
static int spolu;
Dodavatel dod;
public:
Ovocie(){}
Ovocie(string d):dod(d){}
void prijem(int kolko) {
kupene+=kolko;
spolu+=kolko;
}
void vydaj(int kolko){
predane+=kolko;
spolu-=kolko;
}
int stav(){
return spolu;}
virtual int stav_kon(){return 0;}
};

class Jablka:public Ovocie
{ string akost;
public:
Jablka(string s, int zac=0, string a="1."):Ovocie(s){
kupene=zac;
predane=0;
akost=a;
spolu+=zac;}
int stav_kon(){
return(kupene-predane);}
void vypis(){
cout<< dod.getmeno();}
};

class Hrusky:public Ovocie
{ string akost;
public:
Hrusky(string s, int zac=0, string a="I."):Ovocie(s){
kupene=zac;
predane=0;
akost=a;
spolu+=zac;}
int stav_kon(){
return(kupene-predane);}
void vypis(){
cout<< dod.getmeno();}
};





int main()

{
Jablka jonatanky("Ferofruct",100,& quot;II.");
Jablka *p_renetky=new Jablka("Jano",50,"I.& quot;);
Hrusky *p_maslovky=new Hrusky("Fero",20);
Ovocie *p_ovocie;
p_ovocie=p_renetky;
p_ovocie->vydaj(5);
cout << "Stav spolu" << p_ovocie->stav() << endl;
cout << "Renetky" << p_ovocie->stav_kon() << endl;

}

// dedenie tried

# include <iostream>
#include <string>
using namespace std;


enum nota{A,B,C,D,E,F,G,H};

class Instrument
{



public:

static int Poradie;
string Nazov;

Instrument(){cout << "Konstruktor Instrumentu"<< endl;};


~Instrument(){ cout << "Destruktor Instrumentu" << endl;};
virtual void play(nota n){cout << "Hra nadstroj, ton :" << n << endl;};
/// virtal utrcuje ci sa hlada funkcia
// play() aj o triedu nizsie

};


class Dychove : public Instrument
{

public:

Dychove(){cout <<"Konstruktor Dychove"<<endl; };


Dychove(string MojNazov)
{
cout << "Konstruktor Dychove"<< endl;
this->Nazov=MojNazov;
Poradie++;

};

~Dychove(){cout <<"Destruktor Dychove"<<endl;};

void play(nota n){cout << "Hra dychovy nastroj, ton :" << n << "Poradie : " << Poradie << "Nazov : " << Nazov << endl;};



};


class Drevene : public Dychove
{

public:

Drevene(){ cout <<"Konstruktor Drevene"<<endl;};
~Drevene(){ cout <<"Destruktor Drevene"<<endl;};

};



int Instrument :: Poradie = 0;

void ton(Instrument &i)
{
cout << "Hram C"<<endl;
i.play(C);

}

main()
{

//POLE OBJEKTOV


Dychove Kvarteto[4] =
{
Dychove("D1"),
Dychove("D2"),
Dychove("D3"),
Dychove("D4"),
};


//POLE OBJEKTOV

for(int j=0;j<4;j++)
{
Kvarteto[j].play(E);
cout << "----" <<endl;
}


}