Приветствую. Допустим, есть enum:
enum Color
{
Red = 1,
Green,
Blue
};
std::ostream& operator<<(std::ostream& s, Color c)
{
switch (c) {
case Red :
return s << "Red";
case Green :
return s << "Green";
case Blue :
return s << "Blue";
}
return s << static_cast<int>(c);
}
std::istream& operator>>(std::istream& s, Color& c)
{
// Реализация…
}