#pragma once #include class Trait { public: enum TraitType { Continious, Discrete }; typedef unsigned int idType; protected: TraitType traitType; // Дискретный или непрерывный idType ID; // Идентификатор std::string name; // Название признака float traitValueCont; // Значение признака, если он непрерывный int traitValueDiscr; // Значение признака, если он дискретный public: Trait(){}; Trait(idType _ID, std::string _name, float value); Trait(idType _ID, std::string _name, int value); TraitType getTraitType() const { return traitType; } idType getID() const { return ID; } std::string getName() const { return name; } float getTraitValueCont() const { return traitValueCont; } int getTraitValueDiscr() const { return traitValueDiscr; } void setName(const std::string& _name) { name = _name; } void setID(idType _ID) { ID = _ID; } void setTraitValue(float _value); void setTraitValue(int _value); };