Supongamos que tengo una clase en la que TC++ inicialización estática de la clase sin estado
- T no tiene funciones virtuales.
- T instancias no tienen estado.
- T tiene instancias de miembros estáticos de sí mismo.
- T no tiene otro estado.
¿Puede la inicialización estática de C++ fiasco arruinar mi programa? No lo creo, porque incluso si una de las instancias estáticas no se inicializa antes del uso, eso no debería importar porque los objetos T son apátridas.
Estoy interesado en hacer esto para las clases de enumeración similar, así:
// Switch.h
class Switch {
public:
static Switch const ON;
static Switch const OFF;
bool operator== (Switch const &s) const;
bool operator!= (Switch const &s) const;
private:
Switch() {}
Switch (Switch const &); // no implementation
Switch & operator= (Switch const &); // no implementation
};
// Switch.cpp
Switch const Switch::ON;
Switch const Switch::OFF;
bool Switch::operator== (Switch const &s) const {
return this == &s;
}
bool Switch::operator!= (Switch const &s) const {
return this != &s;
}
¡Excelente pregunta y una idea interesante! –
¿Qué le da esto sobre una enumeración simple (sin el estado extra)? – Nim
Por favor, publique un ejemplo de cómo realmente piensa utilizar la clase Switch. –