Как уже сказано не возможно.Но вы можете рассмотреть возможность использования класса в качестве enum.
class Day
{
enum _Day{ Sunday, Monday, Tuesday, Wensday, Thursday, Friday, Saturday }
public:
static Day Sun;
static Day Mon;
static Day Tue;
static Day Wen;
static Day Thu;
static Day Fri;
static Day Sat;
operator int() const { return _day; }
int toInt() const { return _day; }
std::string toStr() const { return _name;}
private:
Day(_Day day, std::string name)
: _day(day), _name(std::move(name))
{
}
_Day _day;
std::string _name;
};
Day Day::Mon = Day(_Day::Sun, "Sunday");
Day Day::Mon = Day(_Day::Mon, "Monday");
// ....
Более строгая типизация, работает точно так же, как enum, с необходимыми дополнительными функциями.
Более того, вы можете добавить все удобные функциональные возможности, которые выможет желать, например:
operator std::string() const;
bool operator==(const Day&);
Day& operator=(const Day&);