Estoy usando una biblioteca que tiene clases con varias enumeraciones. He aquí un ejemploUso de enumeraciones de una clase (C++)
class TGNumberFormat
{
public:
// ...
enum EAttribute { kNEAAnyNumber
kNEANonNegative
kNEAPositive
};
enum ELimit { kNELNoLimits
kNELLimitMin
kNELLimitMax
kNELLimitMinMax
};
enum EStepSize { kNSSSmall
kNSSMedium
kNSSLarge
kNSSHuge
};
// etc...
};
En el código que tengo para hacer referencia a estos como TGNumberFormat::kNEAAnyNumber
por ejemplo. Estoy escribiendo una GUI que usa estos valores muy a menudo y el código se está poniendo feo. ¿Hay alguna forma de que pueda importar estas enumeraciones y simplemente escriba kNEAAnyNumber
? Realmente no espero que ninguno de estos nombres se superponga. He intentado varias formas de utilizar la palabra clave using
y ninguna compilará.
me gustaría utilizar un typedef locales a la función (por ejemplo 'typedef TGNumberFormat NF;', lo que permite, por ejemplo, 'NF :: kNELLimitMin') . Sin embargo, diría que es mejor escribir los nombres. –
'struct X: TGNumberFormat {};'. Entonces puede usarlos como 'X :: kNEAAnyNumber'. No te recomiendo que hagas esto, ya que 'TGNumberFormat' (ostensiblemente) tiene más significado que cualquier nombre corto que se te ocurra para' X'. – Praetorian