Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class instrum
- {
- public:
- virtual void dzwiek()
- {
- cout <<"cisza";
- }
- virtual ~instrum()//wirtualny destruktor
- {
- cout<<"destruktor instrumentu";
- }
- };
- class skrzypce : public instrum
- {
- string nazwa;
- int *tabl_numerow;
- public :
- //konstruktor
- skrzypce (string firma, int rok_produkcji, int nr_seryjny)
- :nazwa(firma)
- {
- tabl_numerow = new int[2];
- tabl_numerow[0] = rok_produkcji;
- tabl_numerow[1] = nr_seryjny;
- }
- ~ skrzypce()
- {
- cout <<"destruktor skrzypiec +";
- delete [] tabl_numerow;
- }
- void dzwiek()
- {
- cout <<"Tirli-tirli ("<<nazwa<<")\n";
- }
- };
- class gwizdek : public instrum
- {
- public:
- void dzwiek ()
- {
- cout << "Gwizd-gwizd\n";
- }
- };
- class gitara:public instrum
- {
- string nazwa;
- int *tabl_numerow;
- public:
- //konstruktor
- gitara (string firma, int rok_produkcji, int nr_seryjny)
- :nazwa(firma)
- {
- tabl_numerow = new int[2];
- tabl_numerow[0] = rok_produkcji;
- tabl_numerow[1] = nr_seryjny;
- }
- ~ gitara()
- {
- cout <<"destruktor gitary +";
- delete [] tabl_numerow;
- }
- void dzwiek()
- {
- cout <<"brzdek-brzdek ("<<nazwa<<")\n";
- }
- };
- int main ()
- {
- cout <<"definiowanie w pamieci obiektow ";
- instrum *pierwszy = new skrzypce("Stradivarius",1736,630);
- instrum *drugi =new gitara ("Ramirez", 1997,14822);
- instrum *trzeci = new gwizdek;
- pierwszy ->dzwiek();
- drugi ->dzwiek();
- trzeci ->dzwiek();
- cout <<"usuwanie instrumentow\n";
- delete pierwszy;
- cout << string(50, '*')<< endl;
- delete drugi;
- cout << string(50, '*')<< endl;
- delete trzeci;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement