//: C08:Kos.h
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
// Popisuje koš.
#ifndef TRASH_H
#define TRASH_H
#include <iostream>

class Kos {
  float _vaha;
public:
  Kos(float wt) : _vaha(wt) {}
  virtual float hodnota() const = 0;
  float vaha() const { return _vaha; }
  virtual ~Kos() {
    std::cout << "~Kos()" << std::endl;
  }
};

class Hlinik : public Kos {
  static float hodn;
public:
  Hlinik(float wt) : Kos(wt) {}
  float hodnota() const { return hodn; }
  static void hodnota(float novahod) {
    hodn = novahod;
  }
};

class Papir : public Kos {
  static float hodn;
public:
  Papir(float wt) : Kos(wt) {}
  float hodnota() const { return hodn; }
  static void hodnota(float novahod) {
    hodn = novahod;
  }
};

class Sklo : public Kos {
  static float hodn;
public:
  Sklo(float wt) : Kos(wt) {}
  float hodnota() const { return hodn; }
  static void hodnota(float novahod) {
    hodn = novahod;
  }
};
#endif // TRASH_H ///:~
