Mi proyecto de GUI en Qt
tiene muchas clases de "páginas de configuración" que todas heredan directamente de QWidget
.¿Qt admite ranuras virtuales puras?
Recientemente, me di cuenta de que todas estas clases comparten 2 espacios comunes (loadSettings()
y saveSettings()
).
En cuanto a esto, tengo dos preguntas:
- ¿Tiene sentido escribir una clase abstracta base intermedia (deja el nombre que
BaseConfigurationPage
) con estas dos ranuras como métodos puros virtuales? (Cada página de configuración posible siempre tendrá tiene estos dos métodos, entonces yo diría "sí") - Antes de hacer el cambio pesado en mi código (si es necesario): ¿Qt admite ranuras virtuales puras? ¿Hay algo que deba saber?
Aquí es un ejemplo de código que describe todo:
class BaseConfigurationPage : public QWidget
{
// Some constructor and other methods, irrelevant here.
public slots:
virtual void loadSettings() = 0;
virtual void saveSettings() = 0;
};
class GeneralConfigurationPage : public BaseConfigurationPage
{
// Some constructor and other methods, irrelevant here.
public slots:
void loadSettings();
void saveSettings();
};
Gracias por su respuesta precisa! Voy a probar esto lo antes posible;) – ereOn
+1 para su "Una cosa". Qué bueno saber. –
comprobado: funciona como un encanto. Gracias de nuevo;) – ereOn