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

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

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

Классы С++ (изменение объекта класса) C++
Как получить private переменную класса, функцей членом другого класса C++
C++ Не могу создать поток( Нужно чтобы функция запускается в потоке и работала там пока не закроем в потоке)
О правилах хорошего тона в C++: изменение данных из private секции класса А в классе В через указатель C++
C++ Функция класса в потоке
Изменение размера динамического массива объектов класса C++
Как создать объект класса в потоке? 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,075
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     Изменение перенных класса в потоке
Ответ Создать тему
Опции темы

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