|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|||||||||||
Как получить доступ к переменной класса?09.02.2011, 11:02. Показов 16261. Ответов 13
Метки нет (Все метки)
есть класс формы с публичными перменными
пробовал сделать как с обычным классом ничего не выходит
0
|
|||||||||||
| 09.02.2011, 11:02 | |
|
Ответы с готовыми решениями:
13
Как получить доступ к переменной из другого класса Как получить доступ к изменению переменной из другого класса? Получить доступ к переменной класса при наличии такого же имени переменной в функции |
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 09.02.2011, 12:53 | |
|
nill, для того чтобы обращаться к членам класса по имени класса(как вы привели в примере) - вам необходимо объявить их как static, в противном случае вы сможете получить к ним доступ только через экземпляр этого класса(объект)
1
|
|
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 09.02.2011, 12:54 [ТС] | |
|
M128K145,
А можно пример в коде как обратиться к переменной text ?
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 09.02.2011, 12:57 | ||||||
1
|
||||||
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 09.02.2011, 13:03 [ТС] | |
|
M128K145,
не работает лезут такие ошибки error C2065: Form1: необъявленный идентификатор error C2065: f1: необъявленный идентификатор error C2061: синтаксическая ошибка: идентификатор "Form1" error C2065: f1: необъявленный идентификатор error C2227: выражение слева от "->text" должно указывать на тип класса, структуры или объединения либо на универсальный тип код функции располагаю сразу после класса в одном cpp документе
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 09.02.2011, 13:18 | |
|
nill, код должен быть в пределах класса, более того, он должен быть в пределах одного метода
1
|
|
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
||||||
| 09.02.2011, 13:23 [ТС] | ||||||
|
M128K145,
ну так мне то нужно чтобы был доступ из любой части проекта к переменной класса это можно как то сделать ? вот полный код для класса и функции test из которой я хочу получить доступ к паблик переменным класса куда надо вставить функцию test чтобы все работало ?
0
|
||||||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 09.02.2011, 13:39 | ||||||
1
|
||||||
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 09.02.2011, 13:45 [ТС] | |
|
M128K145,
ну а саму функцию test как я могу вызывать тогда ? все делать в одном cpp файле не удобно я хочу вызывать переменные класса из любой части проекта, такое вообще можно сделать ?
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||||||||||||
| 09.02.2011, 13:52 | ||||||||||||||||
|
nill, вы продумайте логику приложения, т.к. доступ ради доступа - это неправильный подход. Если вам все же нужен доступ к этому методу, то объявите его как public и в любом другом методе другого класса вызывайте его через объект(предварительно создав его)
1
|
||||||||||||||||
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 09.02.2011, 15:12 [ТС] | |
|
M128K145,
Доступ нужен точно, я планирую обрабатывать данные получаемые из формы во многих функциях которые будут разбросаны в разных файлах по всему проекту Пока у меня нет четкой картины как это сделать Я не хочу создавать дополнительные классы для доступа к паблик перемым класса Form1 нужно получить доступ к этим переменным из обычной функции
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||
| 09.02.2011, 21:04 | ||
|
nill, мне конечно все равно, но тем не менее фраза
Вы не хотите использовать свои классы, но тем не менее хотите получить доступ из обычной функции. Обычная функция у вас может быть описана только в файле имя_вашего_проекта.cpp, но практической пользы от функции вы пока не ощутите, так как вы еще не совсем понимаете структуру и принципы работы WinForms приложений, поэтому все что вы можете - или описывать все ваши методы как private внутри вашего класса формы, которые и будут обрабатывать ваши данные, или все-таки создавать отдельные классы для обработки данных и тогда надо будет думать о доступе к вашим методам, потому как вы не сможете создать и обратиться к функции за пределами метода или свойства какого-либо класса(не учитывая тот cpp файл). Но доступ естественно не надо предоставлять ко всем методам, а тем более объявлять поля с модификатором public, т.к. это будет нарушением принципов инкапсуляции. Начните сначала с продумывания архитектуры вашего приложения, чтобы потом не было проблем и меньше надо было вносить исправлений.
0
|
||
|
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
|
|||||||||||
| 27.09.2016, 14:33 | |||||||||||
|
У меня сходная ситуация. Я создаю экземпляр класса для создания основного окна программы:
Собственно вопрос: как сделать так, чтобы переменная MainWindow была доступна из других мест?
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 26.04.2018
Сообщений: 1
|
|
| 19.05.2018, 12:13 | |
|
M128K145, Спасибо тебе большое! Я 5 часов не мог исправить ошибку, пока случайно не зашел в этот топик и не увидел твоё объяснение с static!
1
|
|
| 19.05.2018, 12:13 | |
|
Помогаю со студенческими работами здесь
14
Как получить доступ к переменной находящейся в одном методе из другого метода в пределах одного класса Новое окно+виджет. Как получить доступ к переменной из другой функции (метода) этого же класса?
Имя переменной как переменная. Как получить доступ к такой переменной? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|