Russian Qt Forum
Ноябрь 23, 2024, 00:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
неглобальные глобальные переменные
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: неглобальные глобальные переменные (Прочитано 4759 раз)
qlewer
Новичок
Offline
Сообщений: 41
неглобальные глобальные переменные
«
:
Май 19, 2020, 16:55 »
создал новый класс. создал 2 объекта этого класса. у каждого объекта должна быть переменная, к которой можно обращаться из разных функций. обычно я просто объявлял переменную в самом вверху, она становилась глобальной. но теперь второй объект класса использует эту же переменную и перезаписывает её. подскажите, как использовать глобальную переменную, разную для каждого объекта одного класса?
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: неглобальные глобальные переменные
«
Ответ #1 :
Май 19, 2020, 17:07 »
Не использовать глобальные переменные=) Вообще.
Выглядит как будто вам нужен обычный член класса.
Записан
qlewer
Новичок
Offline
Сообщений: 41
Re: неглобальные глобальные переменные
«
Ответ #2 :
Май 19, 2020, 17:17 »
я могу создать в каждом объекте lineedit и в нём хранить данные, но это не очень красиво. как правильно?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: неглобальные глобальные переменные
«
Ответ #3 :
Май 19, 2020, 17:44 »
Опиши что вообще нужно? Какая задача стоит?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qlewer
Новичок
Offline
Сообщений: 41
Re: неглобальные глобальные переменные
«
Ответ #4 :
Май 19, 2020, 18:41 »
на форме несколько объектов одного класса. глобальная переменная в классе хранит информацию, необходимую для работы каждого объекта. но. эта переменная общая для всех, а должна быть для каждого объекта своя. я пробовал хранить данные в lineedit или в свойствах lineedit. это работает, но логически неправильно, что вместо прямого обращения к переменной я сначала ищу в классе все текстовые поля, потом ищу нужное поле, потом смотрю свойства, чтобы записать\получить значение
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: неглобальные глобальные переменные
«
Ответ #5 :
Май 19, 2020, 19:27 »
А что за класс? Почему не сделать эту переменную членом класса?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qlewer
Новичок
Offline
Сообщений: 41
Re: неглобальные глобальные переменные
«
Ответ #6 :
Май 19, 2020, 19:47 »
как? можешь привести пример?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: неглобальные глобальные переменные
«
Ответ #7 :
Май 19, 2020, 19:48 »
Код
C++ (Qt)
class
A
{
private
:
int
thisIsAMemberOfClassA_
;
}
;
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qlewer
Новичок
Offline
Сообщений: 41
Re: неглобальные глобальные переменные
«
Ответ #8 :
Май 19, 2020, 20:11 »
всегда думал, что объявление в private .h файла то же самое, что глобальное объявление в начале .cpp файла, оказывается, нет. спасибо за прозрение
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: неглобальные глобальные переменные
«
Ответ #9 :
Май 19, 2020, 20:26 »
Хехе. Это совершенно не одно и то же. Почитай что-нибудь про с++
«
Последнее редактирование: Май 22, 2020, 07:18 от Пантер
»
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
tamplier
Новичок
Offline
Сообщений: 40
Q
«
Ответ #10 :
Май 22, 2020, 04:44 »
Цитата: qlewer от Май 19, 2020, 20:11
всегда думал, что объявление в private .h файла то же самое, что глобальное объявление в начале .cpp файла, оказывается, нет. спасибо за прозрение
Хорошо бы сначала изучить основы ООП C++, а потом начинать программировать в Qt, т.к. там все завязано на классах и объектах. Искренний совет...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...