#pragma once #include struct Object { virtual ~Object(){}; }; struct Number : public Object { double value; explicit Number(double value) : value(value) {} }; struct String : public Object { std::string value; explicit String(std::string str) : value(str) {} };