Есть у меня C++ные интерфейсы IReadableDataset и его наследники: IEditableDataset и IStatistics. Наследование IReadableDataset у них у обоих виртуальное.
И есть реализация Dataset, которая наследует IEditableDataset и IStatistics. А значит, виртуально наследует IReadableDataset через IStatistics и IEditableDataset.
Имею спросить: нельзя ли здесь отказаться от виртуального наследования? Вроде есть какой-то способ эмулировать его с помощью шаблонов?