У меня есть следующий абстрактный базовый класс, SettingsInterface, который я использую в качестве интерфейса:
class SettingsInterface
{
public:
virtual void Refresh() = 0;
virtual void Update() = 0;
virtual void OnConnect() = 0;
virtual void OnDisconnect() = 0;
};
Я пытаюсь реализовать этот интерфейс в моем классе ниже, который наследуется от TFrame.TFrame наследует от другого класса, который также имеет виртуальный метод с именем Update.
class DebugSettingsFrame : public TFrame, public SettingsInterface
{
//a bunch of IDE-managed components - left out for brevity
public:
virtual void Refresh();
virtual void Update();
virtual void OnConnect();
virtual void OnDisconnect();
};
Когда я компилирую это, я получаю сообщение об ошибке виртуальной функции DebugSettingsFrame :: Update () конфликтует с базовым классом TWinControl.Я растоптал это.Как я могу решить эту проблему, не меняя определение метода моего интерфейса Update на что-то еще?
Редактировать - продолжение:
Так что в C ++ нет конструкциипохож на C #, где вы можете явно реализовать методы интерфейса, которые имеют такое же определение?
Спасибо!