#pragma once #include class PlayerT { public: void Name(std::string newName); std::string Name() const; int Level() const; virtual void LevelUp() = 0; std::string Class() const ; protected: int level{0}; private: std::string name; }; class FighterT final : public PlayerT { public: void LevelUp() override; std::string Class() const ; //virtual std::string Class() const; private: }; /* class NewFigherT : public FighterT { }; */ class WizardT: public PlayerT { public: std::string Class() const { return ("Wizard"); } void LevelUp() override { level += 2; } };