Давайте иметь несколько таблиц.Таблицы имеют столбцы.Каждый столбец содержит данные своего вида.Я ищу структуру для универсальной таблицы, которая позволила бы мне получить доступ к элементам с заданными координатами и получить доступ к отдельным столбцам.
Моя идея состояла в том, чтобы предоставить общий интерфейс, который будет реализован в дочерних элементах.Дети будут использовать векторы для хранения отдельных столбцов.Я работаю с четырьмя таблицами, поэтому у меня может быть по одному объекту для каждой из них.
class Data {
template < typename T >
virtual T getElement(unsigned int row, unsigned int column) const = 0;
template < typename T >
virtual void setElement(unsigned int row, unsigned int column, T value) = 0;
template < typename T >
virtual std::vector< T > getColumn(unsigned int column) const = 0;
template < typename T >
virtual void setColumn(unsigned int column, std::vector< T > values) = 0;
};
Проблема, очевидно, в ошибке ": шаблоны могут не быть" виртуальными "«».Как лучше всего решить эту проблему?Я хотел бы избежать использования внешних библиотек.
Petr