![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
nikita |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 34 Регистрация: 19.10.2012 Пользователь №: 3570 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Заранее прошу прощения за столь глупый вопрос) Есть код:
Суть в том, что в методе writeFromFile из файла считывается 2 поля : 'x' и '5'. Можно ли как-то переменной с именем 'x' присвоить считанное значение(в данном случае 5). Если бы Х был полем класса MyClass, то можно было бы воспользоваться методом findChild(), а в этой ситуации я в тупике. Переменных должно быть много и писать процедуру разбора считанной строки с кучей IF-ов не хочется. Подскажите как быть. Сообщение отредактировал nikita - 20.3.2013, 11:51 |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
не очень понятно, в чём вопрос.
x - это глобальная переменная или что? если глобальная, то кто мешает её напрямую юзать? а если не глобальная, то можно передавать указатель на неё как параметр или сделать её статическим членом класса, например. да куча вариантов, вообще говоря. |
|
|
nikita |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 34 Регистрация: 19.10.2012 Пользователь №: 3570 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
не очень понятно, в чём вопрос. x - это глобальная переменная или что? если глобальная, то кто мешает её напрямую юзать? а если не глобальная, то можно передавать указатель на неё как параметр или сделать её статическим членом класса, например. да куча вариантов, вообще говоря. X - глобальная переменная не имеющая никакого отношения к классу. Вопрос в том, как переменной с именем QString("x") присвоить значенине. Да, если сделать Х членом класса, то можно юзать метод findChild(), но этот вариант мне не подходит! |
|
|
Iron Bug |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Да, если сделать Х членом класса, то можно юзать метод findChild(), но этот вариант мне не подходит! собственно, почему не подходит? вообще, глобальные переменные обычно никто не делает глобальными просто так, врассыпную. делают один класс глобальных переменных и объявляют их все статическими. правда, я не знаю, умеeт ли Qt работать с именами статических членов класса. в конце концов, если нужна именно глобальная переменная для совместимости с какими-нибудь чужеродными компиляторами, то её можно сделать глобальной, а в классе глобальных переменных объявить линк и инициализировать его адресом этой переменной. а в чистом С++ такой встроенной возможности нет. либо делать мап, как уже сказали, либо какие-то другие самодельные списки с именами. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.6.2025, 15:12 |