LINUX.ORG.RU

История изменений

Исправление wota, (текущая версия) :

// Общий для всех интерфейс
class IReadableDataset {};

// Первый из двух родителей для Dataset1
template <typename T=IReadableDataset>
class IEditableDataset : public T {};

// Второй из двух родителей для Dataset1
class IStatistics : public IReadableDataset {};

// Наследует IReadableDataset, IEditableDataset, IStatistics
class Dataset1 : public IEditableDataset<IStatistics> {};

// Наследует IReadableDataset, IEditableDataset
class Dataset2 : public IEditableDataset<> {};

Исправление wota, :

// Общий для всех интерфейс
class IReadableDataset {};

// Первый из двух родителей для Dataset
template <typename T=IReadableDataset>
class IEditableDataset : public T {};

// Второй из двух родителей для Dataset
class IStatistics : public IReadableDataset {};

// Наследует IReadableDataset, IEditableDataset, IStatistics
class Dataset1 : public IEditableDataset<IStatistics> {};

// Наследует IReadableDataset, IEditableDataset
class Dataset2 : public IEditableDataset<> {};

Исходная версия wota, :

// Общий для всех интерфейс
class IReadableDataset {};

// Первый из двух родителей для IEditableDataset
template <typename T=IReadableDataset>
class IEditableDataset : public T {};

// Второй из двух родителей для IEditableDataset
class IStatistics : public IReadableDataset {};

// Наследует IReadableDataset, IEditableDataset, IStatistics
class Dataset1 : public IEditableDataset<IStatistics> {};

// Наследует IReadableDataset, IEditableDataset
class Dataset2 : public IEditableDataset<> {};