Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // main.cpp
- #include <iostream>
- #include "Dzielo.h"
- #include "Film.h"
- #include "Ksiazka.h"
- using namespace std;
- int main()
- {
- Dzielo* dziela[2];
- dziela[0] = new Ksiazka("Rok 1984", 1948, "George Orwell", 300, "ABC");
- dziela[1] = new Film("Forrest Gump", 1994, "Zemeckis", "Groom", 80000000);
- for(int i = 0; i < 2; ++i)
- dziela[i]->wypisz_dane();
- delete dziela[0];
- delete dziela[1];
- return 0;
- }
- // Head.hpp
- #ifndef HEAD_HPP
- #define HEAD_HPP
- class Dzielo;
- class Ksiazka;
- class Film;
- class Artykul;
- enum typ
- {
- ksiazka,
- film,
- artykul
- };
- #endif // HEAD_HPP
- // Dzielo.h
- #ifndef DZIELO_H
- #define DZIELO_H
- #include <iostream>
- #include "../Head.hpp"
- using namespace std;
- class Dzielo
- {
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- public:
- Dzielo(string, typ, int);
- virtual void wypisz_dane() = 0; // metoda czysto wirtualna - Dzielo jest klasą abstrakcyjną
- };
- #endif // DZIELO_H
- // Dzielo.cpp
- #include "Dzielo.h"
- /*class Dzielo
- {
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- public:
- Dzielo(string, typ, int);
- void wypisz_dane();
- };*/
- Dzielo::Dzielo(string t, typ publikacja, int rok) : tytul(t), typ_publikacji(publikacja), rok_wydania(rok)
- {
- }
- // Ksiazka.h
- #ifndef KSIAZKA_H
- #define KSIAZKA_H
- #include "Dzielo.h"
- /*class Dzielo
- {
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- public:
- Dzielo(string, typ, int);
- virtual void wypisz_dane() = 0; // metoda czysto wirtualna - Dzielo jest klasą abstrakcyjną
- };*/
- class Ksiazka : public Dzielo // informujemy, że Ksiazka dziedziczy od klasy Dzielo
- {
- string autor;
- int liczba_stron;
- string wydawnictwo;
- public:
- Ksiazka(string, int, string, int, string);
- void wypisz_dane();
- };
- #endif // KSIAZKA_H
- // Ksiazka.cpp
- #include "Ksiazka.h"
- /*class Ksiazka : public Dzielo
- {
- string autor;
- int liczba_stron;
- string wydawnictwo;
- public:
- Ksiazka(string, int, string);
- void wypisz_dane();
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- };*/
- Ksiazka::Ksiazka(string tyt, int rok, string aut, int objetosc, string wydawca) : Dzielo(tyt, ksiazka, rok), autor(aut), liczba_stron(objetosc), wydawnictwo(wydawca)
- {
- }
- void Ksiazka::wypisz_dane()
- {
- cout << "Autor: " << autor << ", tytul: " << tytul << ", wydana przez " << wydawnictwo << " w roku " << rok_wydania << ", liczba stron: " << liczba_stron << endl;
- }
- // Film.h
- #ifndef FILM_H
- #define FILM_H
- #include "Dzielo.h"
- /*class Dzielo
- {
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- public:
- Dzielo(string, typ, int);
- virtual void wypisz_dane() = 0; // metoda czysto wirtualna - Dzielo jest klasą abstrakcyjną
- };*/
- class Film : public Dzielo // informujemy, że Ksiazka dziedziczy od klasy Dzielo
- {
- string rezyser;
- string scenarzysta;
- int budzet;
- public:
- Film(string, int, string, string, int);
- void wypisz_dane();
- };
- #endif // FILM_H
- // Film.cpp
- #include "Film.h"
- /*class Film : public Dzielo // informujemy, że Ksiazka dziedziczy od klasy Dzielo
- {
- string rezyser;
- string scenarzysta;
- int budzet;
- public:
- Film(string, int, string, string, int);
- void wypisz_dane();
- protected:
- string tytul;
- typ typ_publikacji;
- int rok_wydania;
- };*/
- Film::Film(string tyt, int rok, string director, string screenplay, int bud) : Dzielo(tyt, film, rok), rezyser(director), scenarzysta(screenplay), budzet(bud)
- {
- }
- void Film::wypisz_dane()
- {
- cout << "Film \"" << tytul << "\" w rezyserii " << rezyser << ", scenariusz: " << scenarzysta << "(rok " << rok_wydania << "), budzet: " << budzet << " USD\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment