Todas las variables miembro y las funciones miembro en mi clase ClassA son estáticas.Impedir la creación de una clase cuyas funciones miembro sean todas estáticas
Si un usuario intenta (por error) crear un objeto de esta clase, recibe una advertencia: "ClassA, variable local nunca referenciada", porque todas las funciones son estáticas, por lo que nunca se hace referencia a este objeto. Por lo tanto, quiero evitar que el usuario intente crear un objeto de esta clase.
¿Sería suficiente crear un constructor privado predeterminado (sin variables)? ¿O también tengo que crear un constructor de copia privada y un operador de asignación privada (para evitar el uso de los constructores por defecto)? Y si tengo que crearlos también, tal vez sería mejor crear una función virtual pura y falsa, ¿y esto evitará que el usuario cree un objeto?
Gracias
¡Es C++, no Java! ¿Por qué necesita crear una clase para mantener las funciones estáticas? solo haga que sean globales, o debajo de un espacio de nombres {} en lugar de una clase – hasen
, porque si usa un espacio de nombres en su lugar, no puede tener miembros privados estáticos para mantener el estado privado. –
¡Claro que puedes! hacerlos estáticos y no estarán disponibles fuera de esa unidad de compilación. – Ferruccio