Russian Qt Forum

Qt => Вопросы новичков => Тема начата: bez_glaz от Февраль 22, 2012, 16:04



Название: Доступ к объекту
Отправлено: bez_glaz от Февраль 22, 2012, 16:04
Доброго дня.
В общем проблема такова.
Есть 2 класса Auto и Connect. В main создаю объекты этих классов.

Код:
Connect * firt_connect = new Connect();
Auto * create_auto = new Auto();

Далее я хочу реализовать связь слот-сигнал.
Код:
Connect * ddd;
connect(this,SIGNAL(CheckUser(QString,QString)),ddd,SLOT(CheckUser(QString,QString)));

Вызов делаю в классе Auto. Сигнал объявил в Auto.h. Слот описл и объявил в классе Connect. Ну естественно выдаёт мне ошибку, т.к. я указал в переменную ddd класс, а не объект. Как мне получить объект который я уже создал ??? Ведь я мог в main написать следующим образом
Код:
Connect * firt_connect = new Connect();
Connect * second_connect = new Connect();
Connect * trh_connect = new Connect();
Auto * create_auto = new Auto();
Как вообще в этом случае обратится мне к нужному созданному объекту из другого класса?
Допустим у меня в каждом объекте по таймеру будит генерироваться число рандомом и мне надо будит узнавать в классе Auto какие числа генерируется в каждом созданном объекте!


Название: Re: Доступ к объекту
Отправлено: mutineer от Февраль 22, 2012, 16:15
тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означать:)


Название: Re: Доступ к объекту
Отправлено: Пантер от Февраль 22, 2012, 16:16
Или сделать внешнее связывание, что лучше.


Название: Re: Доступ к объекту
Отправлено: bez_glaz от Февраль 24, 2012, 08:07
тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означать:)
Это я понимаю.
Я и спрашиваю "Как?"


Название: Re: Доступ к объекту
Отправлено: bez_glaz от Февраль 24, 2012, 08:07
Или сделать внешнее связывание, что лучше.
А можно по подробнее?
Всмысле сделать один класс дочерним от другого ?


Название: Re: Доступ к объекту
Отправлено: mutineer от Февраль 24, 2012, 11:16
тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означать:)
Это я понимаю.
Я и спрашиваю "Как?"

Как передать указатель в функцию? В книжках по плюсам написано


Или сделать внешнее связывание, что лучше.
А можно по подробнее?
Всмысле сделать один класс дочерним от другого ?

Connect * firt_connect = new Connect();
Auto * create_auto = new Auto();
connect(create_auto, SIGNAL(CheckUser(QString,QString)), firt_connect, SLOT(CheckUser(QString,QString)));


Название: Re: Доступ к объекту
Отправлено: bez_glaz от Февраль 24, 2012, 13:13
тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означать:)
Это я понимаю.
Я и спрашиваю "Как?"

Как передать указатель в функцию? В книжках по плюсам написано


Или сделать внешнее связывание, что лучше.
А можно по подробнее?
Всмысле сделать один класс дочерним от другого ?

Connect * firt_connect = new Connect();
Auto * create_auto = new Auto();
connect(create_auto, SIGNAL(CheckUser(QString,QString)), firt_connect, SLOT(CheckUser(QString,QString)));
В общем я сам сделал по второму методу, просто не знал что это называется "так" =)
Сори, что прочитал не вникнув на счёт первого метода.
Но у меня сразу появляется вопрос, что если буду создавать объект Auto в ином пространстве, где я создавал объект Connect ? Получается, что я этот указатель должен за собой всегда таскать, в плоть до места откуда я буду создавать объект Auto ?


Название: Re: Доступ к объекту
Отправлено: mutineer от Февраль 24, 2012, 13:29
В общем я сам сделал по второму методу, просто не знал что это называется "так" =)
Сори, что прочитал не вникнув на счёт первого метода.
Но у меня сразу появляется вопрос, что если буду создавать объект Auto в ином пространстве, где я создавал объект Connect ? Получается, что я этот указатель должен за собой всегда таскать, в плоть до места откуда я буду создавать объект Auto ?

Не имея указателя на объект, созданный "где-то там" сделать что-то с ним почти невозможно:)


Название: Re: Доступ к объекту
Отправлено: bez_glaz от Февраль 27, 2012, 13:01
В общем я сам сделал по второму методу, просто не знал что это называется "так" =)
Сори, что прочитал не вникнув на счёт первого метода.
Но у меня сразу появляется вопрос, что если буду создавать объект Auto в ином пространстве, где я создавал объект Connect ? Получается, что я этот указатель должен за собой всегда таскать, в плоть до места откуда я буду создавать объект Auto ?

Не имея указателя на объект, созданный "где-то там" сделать что-то с ним почти невозможно:)
Печалька =(
Я просто почему то был уверен, что есть встроенный метод в каждом классе, который хранит все ссылки на созданные объекты этого класса...


Название: Re: Доступ к объекту
Отправлено: mutineer от Февраль 27, 2012, 13:03
Я просто почему то был уверен, что есть встроенный метод в каждом классе, который хранит все ссылки на созданные объекты этого класса...
Это ты из какого языка вынес?))