Форум программистов, компьютерный форум CyberForum.ru

Не могу добавить объект к множеству - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка debug assertion failed http://www.cyberforum.ru/cpp-beginners/thread1004707.html
при выполнении программы происходит ошибка debug assertion failed, а именно попытке завершить работу программы вот код #define _CRT_SECURE_NO_WARNINGS #include"tab.h" void main() { setlocale(LC_CTYPE,"Russian"); FILE *f=fopen("input.txt","r");
C++ Исправить программку. Побитовые операции Добрые люди, выручайте. Понимаю, что нагло, но другого выхода нет :) Задача - Сложить 2 числовых значения в двоичном представлении с выводом промежуточных результатов при использовании типа unsigned char. Код есть. Нужно раскрыть цикл, убрать функции и (bool). Подскажите, кто что может. Могу отблагодарить копеечкой Яндекс денег. #include <iostream> using namespace std; void... http://www.cyberforum.ru/cpp-beginners/thread1004692.html
C++ Написать функцию для вычисления выражения
Написать функцию для вычисления выражения (см.вложения) , a.
C++ Матрица. Переставляя ее строки и столбцы . добится того , чтобы наибольший элемент оказался в верхнем левом углу
дана вещественная матрица А размером (8х5) . Переставляя ее строки и столбцы . добится того , чтобы наибольший элемент оказался в верхнем левом углу. Хелпп плиз..<
C++ Алгоритм сортировки одномерного массива слияние http://www.cyberforum.ru/cpp-beginners/thread1004657.html
Добрый вечер. Нужна помощь в написании программы. Буду благодарен,если знающие люди,помогут мне. Вот такое задание: "Запрограммировать алгоритм сортировки одномерного массива слиянием. Подсчитать количество сравнений; Определить массив из элементов {1,2,3,...,N},сортировка которого требует наибольшего количества сравнений. "
C++ Поменять местами макс и мин элементы с++ Здравствуйте,я недавно начал пытаться программировать на этом языке, Задание следующее: в матрице необходимо найти максимальный и минимальный элемент по строкам, и поменять их между собой...( например, массив 1 2 3 4, 6 7 8 9 в 1 строке мин=1... подробнее

Показать сообщение отдельно
Tit_Vlad
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 28
13.11.2013, 22:20  [ТС]     Не могу добавить объект к множеству
Спасибо, получилось)
Пишу вдруг кому-то поможет, поправьте если я не прав.
Что бы вернуть ссылку на множество из класса, это множество должно быть объявлено как статик:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class AutoShop
{
    string name;
    string address;
    int amountCarsSold;
    double gainsMoney;
    static set<Manager> managerSet;
    static set<Client> clientSet;
    static set<AutoConfiguration> autoConfigurationSet;
public:
    AutoShop();
    void setInformation(string _name, string _address);
    template <class T> void add( set<T>& _setSomething)
    {
        T obg;
        (_setSomething).insert(obg);
    }
    set<Manager>& getManagerSet() const;
статик переменные должны быть определенны где-нибудь в .срр файле
C++
1
2
3
set<Manager> AutoShop::managerSet;
set<Client> AutoShop::clientSet;
set<AutoConfiguration> AutoShop::autoConfigurationSet;
Теперь возвращаем ссылку на множество
C++
1
2
3
4
set<Manager>& AutoShop::getManagerSet() const
{
    return managerSet;
}
И вот теперь мы можем добавить объект в множество которое является полем класса
C++
1
2
3
4
5
switch (mapAction[act])
        {
        case manager:
            au1.add<Manager>(au1.getManagerSet());
            break;
Добавлено через 21 час 49 минут
Есть поправка!
Если сэт в классе не нужны как статики, то для компиляции и правильной работы необходимо убрать конст из методов геттеров
C++
1
2
3
set<Manager>& getManagerSet();
    set<Client>& getClientSet();
    set<AutoConfiguration>& getAutoConfigurationSet();
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru