В качестве части моего C++ HW я должен реализовать универсальный контейнер Map.Реализация общей карты [от HW]
Карта, которую я должен реализовать, должна иметь итератор и константу_тератора. Я решил сохранить данные на карте в узле [как в связанном списке].
Мне предоставили map_example.cpp, и моя задача - написать map.h, чтобы map_example скомпилировал.
Мой вопрос о следующих строк кода в пределах map_example.cpp
Map<std::string,int> msi;
msi.insert("Alice",5);
msi.insert("Bob",8);
msi.insert("Charlie",0);
// print map
for(Map<std::string,int>::const_iterator it = msi.begin(); it != msi.end(); ++it)
{
std::cout << *it << std::endl;
/*
* prints:
* Alice:5
* Bob:11
* Charlie:0
*/
}
Из этого кода, я понимаю, что я должен перегружать Оператор «*», но я не уверен, что вернуть чтобы этот цикл мог печатать содержимое карты.
Один из моих идей реализовать что-то вроде: 1. итератора :: GETKEY() 2. итератора :: GetData() 3. Оператор "*" возвращает строку, howerve Я не уверен, как создать строку из общих данных.
Каков наилучший способ реализации карты tu для поддержки таких функций?