#ifndef VALUE_H__ #define VALUE_H__ #include class Value { public: Value() {}; explicit Value(const std::string&); explicit Value(double); explicit Value(const char*); explicit Value(int); Value(const Value&); Value& operator=(Value const&); Value& operator=(double); Value& operator=(int); Value& operator=(std::string const&); public: operator std::string() const; operator double () const; operator int () const; operator const char* () const; std::string StringValue() const; double DoubleValue() const; int IntValue() const; private: std::string value_; }; #endif //VALUE_H__