0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 36
1

Глобальная функция + приватные переменные + вызов из другого класса?

03.01.2018, 11:15. Показов 575. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день. Помогите разобраться. Получаю определенные параметры и пытаюсь их сохранить в память. делаю так:



SettGlobals.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdio>
#include <iostream>
#include <string> 
#include <map>;
 
class SettGlobals
{
    
private:
    std::map<std::string, std::string> Settings;
    
public:
    void SetSettings(std::string, std::string);
    std::string GetSettings(std::string);
};

SettGlobals.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
#include "SettGlobals.h"
 
void SettGlobals::SetSettings(std::string key, std::string val)
{
    Settings.insert(std::pair<std::string, std::string>(key, val));
    
}
 
std::string SettGlobals::GetSettings(std::string key)
{
    return Settings.at(key);
}
и сам main.cpp

C++ (Qt)
1
2
3
4
5
SettGlobals GlobalSett;
 
        GlobalSett.SetSettings("SID", "123");
 
cout << "SID: " << GlobalSett.GetSettings("SID") << endl;
так отрабатывает без проблем. Если же вызываю из другого класса или отбельного потока:

C++ (Qt)
1
2
3
4
5
SettGlobals GlobalSett;
 
        GlobalSett.SetSettings("SID", "123");
 
cout << "SID: " << GlobalSett.GetSettings("SID") << endl;
то получаю ошибку: "SID: Child terminated with signal = 0x6 (SIGABRT)"

подскажите, что делаю не так?... Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2018, 11:15
Ответы с готовыми решениями:

Вызов функции другого класса, в котором есть переменные текущего
Есть форма (Ф), на ней есть листы с данными, листбокс и таймер, а так же функция, которая...

Не баг ли? Объект видит приватные члены другого объекта этого же класса
не баг ли что getObj() можно изменять приватное свойство другого объекта class Exam1 { ...

Дружественная функция и приватные члены класса
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, можно ли как-то в коде ниже сделать...

Вызов методов классов друг у друга (вызов метода из другого класса)
Есть несколько классов, которые могут вызывать методы (функции) друг у друга. Логика: класс1 имеет...

4
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
03.01.2018, 11:42 2
Цитата Сообщение от chiffacff Посмотреть сообщение
#include <map>;
; убрать
0
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 36
03.01.2018, 12:12  [ТС] 3
убрал. тоже самое.
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
03.01.2018, 12:55 4
chiffacff, скорее всего получается так, что GetSettings вызывается до функции SetSettings... at бросает исключение out_of_range
0
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 36
03.01.2018, 13:50  [ТС] 5
с этого я начал отладку ) очередность вызова верна
0
03.01.2018, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2018, 13:50
Помогаю со студенческими работами здесь

Доступ к полям класса через переменные другого класса
Уважаемые коллеги! Почему в моделях Аnylogic для упрощения доступа к полям одного класса (класс А)...

Что-то я не понимаю.Вызов метода одного класса из другого класса
Есть два класса первый содержит атрибуты объекта описывающие кнопку: имя, позиция, размер и тд... А...

Переменные из функции класса в функцию другого класса
Подскажи пожалуйста,как с класса Convector передать в класс Filter одержанный Bitmap и переменные?...

Вызов функции из одного класса кнопкой из другого класса
Доброго времени суток. Помогите разобраться с сигналами и слотами. Уже устал перечитывать не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru