İçindeki GUI projem, Qt
tümü doğrudan miras alınan birçok "yapılandırma sayfası" sınıfına sahip QWidget
.
Son zamanlarda, tüm bu sınıfların 2 ortak yuvayı ( loadSettings()
ve saveSettings()
) paylaştığını fark ettim .
Bununla ilgili olarak iki sorum var:
BaseConfigurationPage
Sanal saf yöntemler olarak bu iki yuvayla bir ara temel soyut sınıf yazmak (adlandıralım ) mantıklı mı ? (Olası her yapılandırma sayfası her zaman bu iki yönteme sahip olacaktır , bu yüzden "evet" derdim)- Kodumdaki ağır değişikliği yapmadan önce (gerekirse): Qt sanal saf slotları destekliyor mu? Bilmem gereken bir şey var mı?
İşte her şeyi açıklayan bir kod örneği:
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();
};