|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|||||||||||
Как получить доступ к переменной класса?09.02.2011, 11:02. Показов 16215. Ответов 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
Как получить доступ к переменной находящейся в одном методе из другого метода в пределах одного класса Новое окно+виджет. Как получить доступ к переменной из другой функции (метода) этого же класса?
Имя переменной как переменная. Как получить доступ к такой переменной? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|