Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <memory>
- using namespace std;
- class Sklep {
- public:
- virtual void getCena() const = 0;
- virtual void getOpis() = 0;
- virtual ~Sklep() {};
- };
- class KrwiRewoler: public Sklep {
- public:
- virtual void getCena() const {
- cout << "20000 jednostek" << endl;
- }
- virtual void getOpis() {
- cout << "Atak: 100\nSzybkosc ataku: 3\n";
- }
- };
- class PlazmowyKarabin: public Sklep {
- public:
- virtual void getCena() const {
- cout << "50000 jednostek" << endl;
- }
- virtual void getOpis() {
- cout << "Atak: 240\nSzybkosc ataku: 2\n";
- }
- };
- class MiotaczPlomieni: public Sklep {
- virtual void getCena() const {
- cout << "100000 jednostek" << endl;
- }
- virtual void getOpis() {
- cout << "Atak: 350\nSzybkosc ataku: 4\n";
- }
- };
- class Karabin: public Sklep{
- virtual void getCena() const {
- cout << "450000 jednostek" << endl;
- }
- virtual void getOpis() {
- cout << "Atak: 550\nSzybkosc ataku: 5\n";
- }
- };
- class Rakietnica: public Sklep {
- virtual void getCena() const {
- cout << "100000 jednostek" << endl;
- }
- virtual void getOpis() {
- cout << "Atak: 1200\nSzybkosc ataku: 3\n";
- }
- };
- class KreatorBroni {
- public:
- static Sklep* kup_bron(int x) {
- if (x == 1)
- return new KrwiRewoler();
- else if (x == 2)
- return new PlazmowyKarabin();
- }
- };
- int main()
- {
- std::auto_ptr<const Sklep> sklep(KreatorBroni::kup_bron(1));
- sklep->getCena();
- getchar();
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement