Я пытаюсь реализовать пользовательские настройки по умолчанию в моем приложении C ++.Для этого я создал интерфейсный класс с одной функцией:
class IRegisterUserDefaults
{
public:
IRegisterUserDefaults();
virtual void registerUserDefaults(){}
};
Каждый класс, унаследованный от этого интерфейсного класса, будет реализовывать функцию для регистрации пользовательских значений по умолчанию, которые необходимо установить.
Пока проблем нет.Но как лучше это назвать?Я пришел из Objective-C, где я мог просто найти все классы и найти тех, кто реализует интерфейс, и вызвать для них функцию registerUserDefaults.Я понимаю, однако, что C ++ не имеет такого уровня самоанализа.Было бы достаточно вызвать функцию один раз для каждого класса (и, следовательно, сделать ее статической).
Objective
Было бы здорово, если бы функция вызывалась "автоматически"msgstr "если класс является подклассом IRegisterUserDefaults.Я попытался вызвать метод из конструктора IRegisterUserDefaults, но похоже, что он не вызывает функцию подкласса должным образом.Есть ли способ сделать это возможным?
Кроме того, как лучше всего убедиться, что это вызывается только один раз для класса?