Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
1

Можно ли создать поток для нестатического метода класса?

23.08.2012, 16:12. Показов 945. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно ли создать поток для не статик метода класса?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <windows.h>
#include <stdio.h>
 
class MYCLASS
{
private :
    int num;
public :
    MYCLASS() : num(0) {}
    DWORD CALLBACK draw(LPVOID);
};
 
DWORD CALLBACK MYCLASS::draw(LPVOID lParam)
{
    for (int i=0; i<100; ++i)
        printf("%d ", num);
    return 0;
}
 
DWORD CALLBACK draw(LPVOID lParam)
{
    int num = 23;
    for (int i=0; i<100; ++i)
        printf("%d ", num);
    return 0;
}
 
void main()
{
    MYCLASS c;
    //HANDLE hThread = CreateThread(0, 0, &(MYCLASS::draw), 0, 0, 0);
    HANDLE hThread = CreateThread(0, 0, &draw, 0, 0, 0);
    WaitForSingleObject(hThread, INFINITE);
}
С обычной функцией прокатывает, а вот в классом никак не хочет.
p.s Так же не могу понять, почему третьим параметром можно указывать и &draw, и draw?
p.p.s Сделать функцию-обертку, которая будет вызываться потоком, а потом уже из неё будет вызнавана функция класса - не вариант


p.p.p.s А можно ли сделать то же самое, но со статический методом класса (хотя бы) ? : (
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2012, 16:12
Ответы с готовыми решениями:

Можно ли создать поток для выполнения отдельного метода
Здравствуйте! Подскажите как ( и возможно ли это вообще ) создать поток для отдельного метода?...

Вызов нестатического метода внутри класса
Здравствуйте! Подскажите пожалуйста, как вызвать внутри класса из одной функции - другую. Вот код:...

Вызов нестатического метода из другого класса
Здравствуйте. Подскажите, как можно вызвать нестатистический метод из другого класса. 1.Этот...

Доступ из нестатического метода к статическому члену класса
Привет! Подскажите, пожалуйста, как можно обратиться из нестатического метода класса к...

1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.08.2012, 16:18 2
nexen, Только такой вариант и сработает или юзать биндеры. Для std::thread.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <thread>
 
struct threaded
{
   void function() {  std::cout << "Hello" << std::endl; }
};
 
int main()
{
   threaded obj;
   std::thread thr(&threaded::function, obj);
}
Вообщем-то внутри вызывается std::bind.
2
23.08.2012, 16:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2012, 16:18
Помогаю со студенческими работами здесь

Timer для нестатического метода
Доброй ночи! Не могу разобраться с таймером. Имеется вот такой код (прошу прощения за размер)....

Создать кнопку на форме из нестатического класса
Можно ли создать кнопку на форме из не статического класса?

Для нестатического метода требуется ссылка на объект
Задан массив 5 на 5 из шифрованной строки, расшифровать можно перестановкой столбцов матрицы....

Для нестатического метода требуется ссылка на объект
Доброго времени суток! Помогите с решением: class Program { private int a; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru