Название: Сбрасывается значение переменной класса Отправлено: Alex_C от Апрель 12, 2012, 10:45 Опят вопрос касаемо перехода с Дельфи на С++:
есть Код: struct SetMapCenter и объявлена в классе переменная Код: class MapWindow : public QObject при вызове ф-ции класса я ее инициализирую Код: void MapWindow::paintMap(QPainter &p, SetMapCenter c) Понятно, это нужно для того, чтоб если параметр не изменился - не перерисовывать Image, а просто вывести его. Запускаю, проверяю - при очередном вызове значения m_MapC "сбрасываются". Вопрос - почему? В Дельфи такой код работает без проблем! Название: Re: Сбрасывается значение переменной класса Отправлено: GreatSnake от Апрель 12, 2012, 10:53 В Дельфи такой код работает без проблем! Странно, что работает, т.к. не видно инициализации SetMapCenter. Т.е. при создании объекта MapWindow в m_MapC будет мусор.Название: Re: Сбрасывается значение переменной класса Отправлено: Igors от Апрель 12, 2012, 11:03 Портится в др месте, надо смотреть в отладчике. И не надо все время упоминать о Дельфи, это и так видно из приводимого Вами кода (если хотите - покритикуем :))
Название: Re: Сбрасывается значение переменной класса Отправлено: Alex_C от Апрель 12, 2012, 13:07 не видно инициализации SetMapCenter. Т.е. при создании объекта MapWindow в m_MapC будет мусор. Да, при создании - мусор. Инициализация в ф-ции mapPaint при первом обращении к ней. Т.е. сначала сравниваю - не равно - присвоиваю значания. При втором обращенни с теми же значениями опять смотрю в отладчике, а в m_MapC - мусор. это и так видно из приводимого Вами кода (если хотите - покритикуем :)) Очень хочу ))) Потому как сама идеология Qt мне очень нравится и хочу ее не просто тупо копировать, а понять досканально что к чему. Название: Re: Сбрасывается значение переменной класса Отправлено: kambala от Апрель 12, 2012, 13:19 добавь конструктор по умолчанию, который будет инициализировать все переменные:
Код
Название: Re: Сбрасывается значение переменной класса Отправлено: Alex_C от Апрель 12, 2012, 14:01 Все ребят, спасибо за советы!
На будущее учту! А сейчас понял, почему у меня сбрасывались элементы класса - я тут заигрался наследок-потомок, вот у меня все время новый класс и инициализировался, вот они и сбрасывались! |