Форум программистов, компьютерный форум, киберфорум
Наши страницы

Получение объекта из множества - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать программу предназнченную для зашифровки текстов http://www.cyberforum.ru/cpp-beginners/thread1010997.html
Разработать программу предназнченную для зашифровки текстов. Вывести на экран исходный текст и результат шифровки. Добавлено через 3 минуты И еще.... исходный текст и результат шифрования должны...
C++ Запутался в циклах Вроде бы все сделал правильно но есть ошибка Заполняю массив рандомными числами потом скалдываю все числа массива и записую результат в одтельный массив и вывожу в мемо все нормально но есть 3... http://www.cyberforum.ru/cpp-beginners/thread1010995.html
Задача на сортировку массивов C++
Сформировать с помощью датчика случайных чисел в диапазоне два массива C и D, из 20 элементов целого типа каждый. Вывести их на экран. Отсортировать массивы C и D по возрастанию и сформировать из...
сумма соответствующих элементов массивов C++
даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите!
C++ сумма соответствующих элементов массива http://www.cyberforum.ru/cpp-beginners/thread1010986.html
даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите!
C++ Среднее квадратичное отклонение от среднего арифметического Добрый день. сломал голову над САБЖ+ требуется найти среднее медианное. Помогите пож-та на примере уже готового массива, где среднее арифметическое я нашел. #include <iostream> #include <stdio.h>... подробнее

Показать сообщение отдельно
Tit_Vlad
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 28

Получение объекта из множества - C++

18.11.2013, 17:23. Просмотров 249. Ответов 7
Метки (Все метки)

Здравствуйте!
У меня есть класс с множеством
C++
1
2
3
4
5
6
7
8
9
10
11
class AutoShop
{
    string name;
    string address;
    int amountCarsSold;
    double gainsMoney;
    set<Manager> managerSet;
    set<Client> clientSet;
    set<AutoConfiguration> autoConfigurationSet;
...
}
в AutoConfiguration есть поле id
C++
1
2
3
4
5
class AutoConfiguration
{
    int id;
...
}
Мне нужно получить объект множества по определенному id. Вот что я делал:
C++
1
2
3
4
5
6
7
8
9
10
11
template<class T> T& getObj(int _id)
    {
        set<T>::iterator iter;
        iter=getSet<T>().begin();
        while(iter!=getSet<T>().end())
        {
            if((*iter).getId()==_id)
                return *iter;
            iter++;
        }
    }
Так я ее вызывал:
C++
1
getObj<AutoConfiguration>(id);
Получал такую ошибку: error C2440: 'return' : cannot convert from 'const AutoConfiguration' to 'AutoConfiguration &'
Попытался вернуть итератор на объект, как в алгоритме find():
C++
1
2
3
4
5
6
7
8
9
10
template<class inpIter, class T> inpIter getObj(const int _id)
    {
        set<T>::iterator iter;
        iter=getSet<T>().begin();
        while(iter!=getSet<T>().end())
        {
            if((*iter++).getId()==_id)
                return iter;
        }
    }
Вызывал так:
C++
1
2
set<AutoConfiguration>::iterator iter;
        iter=getObj<set<AutoConfiguration>::iterator, AutoConfiguration>(id)
все скомпилилось, но когда начал работать с объектом
C++
1
(*iter).addModification();
выдало такую ошибку: error C2662: 'AutoConfiguration::addModification' : cannot convert 'this' pointer from 'const AutoConfiguration' to 'AutoConfiguration &'
Можете объяснить почему this константный и как это исправить что бы я мог работать с объектом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.