Возможно ли сделать следующее:
В моем базовом классе есть 3 чистых виртуальных функций. Мой производный класс реализует 2 из этих виртуальных функций и наследует от другого класса, который реализует последнюю третью виртуальную функцию.Разрешить другому базовому классу реализовать виртуальную функцию
Мой текущий код не будет компилироваться, поэтому я думаю, что это недействительно? Хотя было бы здорово, если бы я мог каким-то образом использовать этот подход. Ниже представлено мое практическое применение/использование этого подхода.
Любые предложения другого подхода, которые я мог бы использовать для достижения этой функциональности?
class ListBox
{
public:
virtual void onScroll() = 0;
virtual void foo() = 0;
virtual void bar() = 0;
};
class DragScrollHandler
{
public:
void onScroll()
{
...
}
};
class HorzListBox: public ListBox, public DragScrollHandler // could also do public HoverScrollHandler, etc.
{
public:
void foo() override
{
printf("foo\n");
}
void bar() override
{
printf("foo\n");
}
HorzListBox()
: ListBox(), DragScrollHandler()
{
}
};