tengo una jerarquía de clases y cada clase tiene en ella una clase de excepción, derivó en una jerarquía paralela, por lo tanto ...enumeración de las clases derivadas
class Base
{
};
class Derived : public Base
{
};
class BaseException : public std::exception
{
enum {THIS_REASON, THAT_REASON};
};
class DerivedException : public BaseException
{
// er...what?
};
me gustaría, en la clase DerivedException, para extender el tipo de enumeración para incluir un nuevo valor THE_OTHER_REASON, para que la clase DerivedException pueda contener cualquiera de los tres valores.
Antes que nada, ¿debería querer hacer esto? ¿Parece una práctica razonable? Si es así, ¿cómo lo hago? Si no, ¿qué alternativas recomendarías?
EDITAR: Se ha sugerido un posible duplicado here, pero las soluciones sugeridas son diferentes porque esa pregunta es para C# y esto para C++.
posible duplicado de [Enum "herencia"] (http: // stackoverflow.com/questions/757684/enum-inheritance) –