Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,093
#1

Изменение перенных класса в потоке - C++

25.04.2013, 22:06. Просмотров 290. Ответов 2
Метки нет (Все метки)

Здравствуйте! У меня есть класс и в этом классе создается поток. Подскажите, как пользоваться переменной класса в потоке. Если написать ClassA::VarA = 1; то напишет nonstatic member и так далее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2013, 22:06     Изменение перенных класса в потоке
Посмотрите здесь:

C++ Вызов функций класса Dictionary функциями дружественного класса
Классы С++ (изменение объекта класса) C++
C++ Не могу создать поток( Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке)
О правилах хорошего тона в C++: изменение данных из private секции класса А в классе В через указатель C++
C++ Функция класса в потоке
Нужен пример неизменяемого класса и класса от которого нельзя наследоваться C++
Изменение размера динамического массива объектов класса C++
Как создать объект класса в потоке? C++
Составьте программу, выводящую на экран сообщения об отличниках класса, о средней успеваемости учащихся класса C++
C++ Изменение константного поля класса
Реализация класса на базе класса Stack с возможностью !индексирования! C++
C++ Изменение класса для использования полярных координат

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tadom
 Аватар для tadom
13 / 13 / 0
Регистрация: 28.03.2013
Сообщений: 22
25.04.2013, 22:19     Изменение перенных класса в потоке #2
Нужно передать в поток ссилку на екземпляр етого класа, т.е. this. І тогда читать ету переменную через ссилку:
C++
1
link->VarA = 1;
Но если вам нужна переменная которая будет общая для всех еземпляров даного класа, тогда можно оголосить ее как:
C++
1
2
3
4
5
class YourClass{
//...
public: static int VarA;
//...
};
І теперь можно использовать код:
C++
1
ClassA::VarA = 1;
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,093
25.04.2013, 23:48  [ТС]     Изменение перенных класса в потоке #3
Все хорошо, только ошибка появилась, что unresolved external symbol "public: static Struct ClassA::StructName* * ClassA::VarA.
Ведь со статическими все так же делается переменными как и с обычными, тоесть если в классе было
C++
1
static StructName* VarA[20];
то и инициализироаться она будет
C++
1
VarA[0] = new ClassA::StructName;
и пользоваться ею
C++
1
VarA[0]->Field1 = 10;
Yandex
Объявления
25.04.2013, 23:48     Изменение перенных класса в потоке
Ответ Создать тему
Опции темы

Текущее время: 23:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru