Russian Qt Forum
Ноябрь 24, 2024, 11:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Доступ к объекту  (Прочитано 3904 раз)
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 какие числа генерируется в каждом созданном объекте!
Записан
mutineer
Гость
« Ответ #1 : Февраль 22, 2012, 16:15 »

тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означатьУлыбающийся
« Последнее редактирование: Февраль 22, 2012, 16:18 от mutineer » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Февраль 22, 2012, 16:16 »

Или сделать внешнее связывание, что лучше.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
bez_glaz
Гость
« Ответ #3 : Февраль 24, 2012, 08:07 »

тебе нужно в объект класса Auto передать указатели на уже созданные объекты

"т.к. я указал в переменную ddd класс, а не объект" - это вообще хз что должно означать:)
Это я понимаю.
Я и спрашиваю "Как?"
Записан
bez_glaz
Гость
« Ответ #4 : Февраль 24, 2012, 08:07 »

Или сделать внешнее связывание, что лучше.
А можно по подробнее?
Всмысле сделать один класс дочерним от другого ?
Записан
mutineer
Гость
« Ответ #5 : Февраль 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)));
« Последнее редактирование: Февраль 24, 2012, 11:18 от mutineer » Записан
bez_glaz
Гость
« Ответ #6 : Февраль 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 ?
Записан
mutineer
Гость
« Ответ #7 : Февраль 24, 2012, 13:29 »

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

Не имея указателя на объект, созданный "где-то там" сделать что-то с ним почти невозможно:)
Записан
bez_glaz
Гость
« Ответ #8 : Февраль 27, 2012, 13:01 »

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

Не имея указателя на объект, созданный "где-то там" сделать что-то с ним почти невозможно:)
Печалька =(
Я просто почему то был уверен, что есть встроенный метод в каждом классе, который хранит все ссылки на созданные объекты этого класса...
Записан
mutineer
Гость
« Ответ #9 : Февраль 27, 2012, 13:03 »

Я просто почему то был уверен, что есть встроенный метод в каждом классе, который хранит все ссылки на созданные объекты этого класса...
Это ты из какого языка вынес?))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 23.