Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.05.2015, 20:34   #1
Алексеева Евгения
 
Регистрация: 08.05.2015
Сообщений: 3
По умолчанию (С++) Шаблонный класс ассоциативного массива с использованием вектора

Задание выглядит так: "Создать шаблонный класс – ассоциативный массив mymap с использованием
STL контейнера vector. Ключ и знание должны быть разнотипными. Определить в нем
свою функцию вставки пары ключ значение (с учетом того, что ключи должны быть
уникальны) и поиска значения по ключу"

Язык С++

Для поиска значения по ключу, я так предполагаю, нужно перегрузить [], но вот как это сделать? И как учесть уникальность ключей?

Начала делать, вот что получилось:

Код:
template <class KEY, class VALUE>
class mymap {
    struct ITEM {KEY x; VALUE y;};   
private:
    vector<ITEM> arr;
public:
    mymap() {};
    
    mymap (unsigned int size)
    {arr.reserve(size);}
    
    ~mymap()
    {
    arr.clear(); 
    vector<ITEM>().swap(arr); 
    };
    
    int add(const KEY key, VALUE value);
 
    VALUE operator[](KEY);
};
 
template <class KEY, class VALUE>
int mymap<KEY, VALUE>::add(KEY key, VALUE value) {
    ITEM tmp={key, value};
    arr.push_back(tmp);
    return 1;
}

Последний раз редактировалось Алексеева Евгения; 12.05.2015 в 20:37.
Алексеева Евгения вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ - шаблонный класс FYNZIK Помощь студентам 0 22.03.2015 20:48
Шаблонный класс Мортира Общие вопросы C/C++ 0 18.04.2013 20:48
Шаблонный класс С++ MAO25 Помощь студентам 0 21.05.2010 22:46
Шаблонный класс Ozerich Общие вопросы C/C++ 8 06.05.2010 01:18
Шаблонный класс Syltan Общие вопросы C/C++ 2 22.11.2009 22:23


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя