Здравствуйте, atrofa, Вы писали:
A>Здравствуйте, jazzer, Вы писали:
J>>Передать в класс А или в metod1 ссылку или указатель на объект класса В.
A>Аесли у меня в metod1() создаетсья новый поток.. и все происходит в нем.. а управление возвращаеться вызывающей функции класса В A>Нужно делать синхронизацию?
скорее всего
слишком мало информации, слишком общая постановка задачи
Здравствуйте, atrofa, Вы писали:
A>Здравствуйте, jazzer, Вы писали:
J>>слишком мало информации, слишком общая постановка задачи
A>Вообщем класс В это СОМ обект.. методы которого ассинхронные так как выполнение может быть долгим. A>Сейчас у меня вся реализация в одном классе. Я хочу вынести ввсю работу в отдельный класс. А класс СОм обекта только создаст екземпляр другого класса и вызовет функцию Perform();
A>Так как у меня реализована еще и connection point то мне нужно вызвать метод Fire_XXXX когда работа будет закончена. А вызывать его прийдеться из класса где производились вычысления...
A>Может можно както лучше все сделать?
A>спасибо
class B
{
public:
void Start();
void OnEnd();
};
class A
{
B* parent_;
public:
void Calculate() { /**/ parent_->OnEnd(); }
};
void B::Start
{
A* pa = new A();
//Запустить pa->Calculate() в отдельном потоке.
}
ЗЫ
только не забыть позаботиться об удалении рабочего объекта А.
Здравствуйте, atrofa, Вы писали:
A>Привет
A>есть у меня два класса, причем один есть членном лкласса другого..
A>class A A>{ A>public: A> A(){}; A> metod1(); A>}
A>class B A>{ A>public: A> B(){}; A> metod2() A> { A> a.metod1(); A> };
A> metod3();
A> A a; A>}
A>main() A>{ A> B b; A> b.metod2(); A> ...... A>}
A>Как из метода класса А metod1() вызвать метод класса В metod3()
Передать в класс А или в metod1 ссылку или указатель на объект класса В.
Здравствуйте, jazzer, Вы писали:
J>Передать в класс А или в metod1 ссылку или указатель на объект класса В.
Аесли у меня в metod1() создаетсья новый поток.. и все происходит в нем.. а управление возвращаеться вызывающей функции класса В
Нужно делать синхронизацию?
Здравствуйте, jazzer, Вы писали:
J>слишком мало информации, слишком общая постановка задачи
Вообщем класс В это СОМ обект.. методы которого ассинхронные так как выполнение может быть долгим.
Сейчас у меня вся реализация в одном классе. Я хочу вынести ввсю работу в отдельный класс. А класс СОм обекта только создаст екземпляр другого класса и вызовет функцию Perform();
Так как у меня реализована еще и connection point то мне нужно вызвать метод Fire_XXXX когда работа будет закончена. А вызывать его прийдеться из класса где производились вычысления...
Здравствуйте, atrofa, Вы писали:
A>Здравствуйте, Bell, Вы писали:
A>а как сделать что б в классе А обьявить указатель на экземпляр класса В а в классе В — указатель на экземпляр класса А?
Здравствуйте, atrofa, Вы писали:
A>Здравствуйте, Bell, Вы писали:
A>а как сделать что б в классе А обьявить указатель на экземпляр класса В а в классе В — указатель на экземпляр класса А?
class A;class B
{
A* pa_;public:
B() : pa_(0) {}
void Start();
void OnEnd();
};
class A
{
B* parent_;
public:
A(B* parent) : parent_(parent) {}B> void Calculate() { /**/ parent_->OnEnd(); }
};
void B::Start()
{
pa_ = new A(this);//Запустить pa->Calculate() в отдельном потоке.
}
void B::OnEnd()
{
delete pa_;
}
извините что надоедаю но у меня классы реализованы в раззный файлах. И это не помогает... *.h файл компилитсья нормально а при попытке вызвать метод этого обекта или конструктора с параметрами, пишет — неизвестный метод...
Здравствуйте, atrofa, Вы писали:
A>извините что надоедаю но у меня классы реализованы в раззный файлах. И это не помогает... *.h файл компилитсья нормально а при попытке вызвать метод этого обекта или конструктора с параметрами, пишет — неизвестный метод...
A>спасибо