Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.04.2016
Сообщений: 2
1

Передача указателя на объект класса через this

12.04.2016, 13:11. Показов 1058. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем участникам форума горячий ПРИВЕТ!
Вопрос такой.

cl.h
C++
1
2
3
4
5
6
7
8
9
class cl {
public:
  void cl();
  int a;
private:
  DWORD ipThreadId;
  // метод сохранения данных в файл, выполняется в отдельном потоке
  friend void __stdcall save(LPVOID P);
};
cl.cpp
C++
1
2
3
4
5
6
7
8
void cl::cl() {
      ia = 5;
      HANDLE hThread = CreateThread(NULL,0, (LPTHREAD_START_ROUTINE) &save, this, 0, &ipThreadId);
}
void __stdcall save(LPVOID P) {
   //.....
    
};
Приведённый код отрабатывает, запускается новый поток, но вот вопрос, как обратиться к методам и свойствам класса,
конструкции:
P->ia; // E2288 Pointer to structure required on left side of -> or ->* (C++)
P->*ia; // E2451 Undefined symbol 'identifier' (C++)
(cl*) P->*ia; // E2451 Undefined symbol 'identifier' (C++)
выдают ошибки?

Пробовал другие конструкции, так же не помогает.
Как правильно передать указатель на объект в дружественную функцию?
Всем спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2016, 13:11
Ответы с готовыми решениями:

Как создать объект оператором new, если имеется только тип указателя на объект, переданный через шаблон?
Есть шаблон. Точно известно, что его параметр Т это указатель. Как с помощью new создать переменную...

Передача указателя в класс на объект другого класса
Не могу передать ссылку на объект класса в другой класс main.cpp #include <iostream>...

Удаление указателя на объект класса
Что-то ни как не могу разобраться, где у меня ошибка?! Ниже приведен фрагмент кода: //... shapes...

Передача в метод по перегрузке оператора указателя на объект
У нас есть массив указателей на базовый класс STRING **ptr = new STRING* ; for (int i = 0;...

2
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.04.2016, 18:42 2
Цитата Сообщение от Alexandr_ww Посмотреть сообщение
C++
1
void cl();
Что это ?

C++
1
2
3
4
5
void __stdcall save(LPVOID P) 
{
  сl* self= (сl*)P; 
  //  self->ia;   
};
А вообще если я не ошибаюсь save должна быть статической функцией и дружественность не нужна.
1
0 / 0 / 0
Регистрация: 12.04.2016
Сообщений: 2
12.04.2016, 19:19  [ТС] 3
Спасибо!
0
12.04.2016, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2016, 19:19
Помогаю со студенческими работами здесь

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

Возврат указателя на внутренний объект класса
Добрый день! Имеется следующая структура: class A{}; class B : public A{}; class C

Указатель на объект из указателя на член класса
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; int main()

Объясните объявление указателя на объект класса
Доброго времени суток! Подскажите, пожалуйста, что означает данная строчка? B *b; ...


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

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