Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
killsyx
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 6
1

Как создать объект класса в потоке?

09.05.2015, 01:03. Просмотров 912. Ответов 4
Метки нет (Все метки)

Как создать объект класса в потоке? Это вообще возможно?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2015, 01:03
Ответы с готовыми решениями:

Можно ли создать объект класса с таким же именем как у самого класса?
Можно ли создать объект класса с таким же именем как у самого класса? Ну или...

Как создать объект класса в динамической памяти?
привет. я так понял, можно создать объект в динамической области памяти. либо...

Как создать объект класса с двумя параметрами?
#include <iostream> using namespace std; class rational{ public: ...

Как создать объект класса? ПРоблемма из-за раздельной компиляции
Есть 4 файла engine.h - базовый класс engine.cpp - реализация методов...

Как создать объект с конструктором в интерфейсе другого класса?
struct WorkerInfo { WorkerInfo(int iPay, int iDebt) : pay (iPay),...

4
lss
930 / 859 / 355
Регистрация: 10.10.2012
Сообщений: 2,705
09.05.2015, 01:20 2
Возможно. Берёшь и создаёшь, как обычно. Проблема в чём? О каких потоках речь? thread, С++11?
0
killsyx
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 6
09.05.2015, 01:27  [ТС] 3
Да, C++11. Мне надо в main создать массив объектов класса. Каждый объект должен выполняться в отдельном потоке. Как реализовать?
0
lss
930 / 859 / 355
Регистрация: 10.10.2012
Сообщений: 2,705
09.05.2015, 01:38 4
Лучший ответ Сообщение было отмечено killsyx как решение

Решение

Цитата Сообщение от killsyx Посмотреть сообщение
Мне надо в main создать массив объектов класса.
При чём здесь тогда это?
Цитата Сообщение от killsyx Посмотреть сообщение
Как создать объект класса в потоке?
Добавлено через 8 минут
Цитата Сообщение от killsyx Посмотреть сообщение
Мне надо в main создать массив объектов класса. Каждый объект должен выполняться в отдельном потоке. Как реализовать?
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
35
36
37
38
39
40
41
#include <thread>
#include <mutex>
#include <iostream>
using namespace std;
 
class A
{
    int n;
public:
    A(int m) : n(m)
    {}
    void show()
    {
        cout << n << endl;
    }
};
 
mutex mtx;
 
void f(A a)
{
    mtx.lock();
    a.show();
    mtx.unlock();
}
 
int main()
{
    A arr[] = {A(1), A(2), A(3)};
 
    thread th1(f, arr[0]);
    thread th2(f, arr[1]);
    thread th3(f, arr[2]);
 
    th1.join();
    th2.join();
    th3.join();
 
    cin.get();
    return 0;
}
1
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
09.05.2015, 01:40 5
Цитата Сообщение от killsyx Посмотреть сообщение
Каждый объект должен выполняться в отдельном потоке. Как реализовать?
в мейне создаешь 10 объектов в куче, создаешь поточную функцию которая принимает указатель T* - запускаешь и того, 10 потоков работают сосвоим объектом толкьо не пересекаются и после завершения выполнения - у тебя обработанный массив
0
09.05.2015, 01:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2015, 01:40

Создать объект внутри класса, который может вызывать функцию этого класса
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле...

Создать класс. Символьное поле должно быть задано как объект класса string
решите задачку!) 6. Создать класс. Символьное поле должно быть задано как...

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru