Я пытаюсь объявить классы Row
и Column
, причем Row
имеет закрытый std::map
со значениями, указывающими на шаблонный Column
. Примерно так:
template <typename T> class DataType {
private:
T type;
};
template <typename T> class Field {
private:
T value;
DataType<T> type;
};
class Row {
private:
std::map<unsigned long,Field*> column;
};
Ну, я полагаю, что в принципе класс Row
не должен знать, какой тип Field
(или Column
) мы хотели бы использовать, т.е. является ли он Field<int>
в столбце 1 или Field<double>
в столбце 2. Но я не уверен, какой правильный синтаксис для объявления Row::column
, или если std::map
ограничен в этом смысле, и я должен использовать что-то еще.
Я оцениваю ваши предложения и заранее благодарю за них.