#pragma once #include "json.hpp" #include "entry.h" #include namespace entry { class Item : public Entry { public: static std::shared_ptr create(const nlohmann::json& data); protected: Item(const nlohmann::json& data) : Entry(data) {}; }; class Substantial { public: virtual int getCost(void) const = 0; virtual double getWeight(void) const = 0; }; std::string genText(const Substantial& s); }