Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2018, 12:05   #41
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

5) теперь додаю в test
Код:
 test.addChild(childComponent);
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:06   #42
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

теперь по сути мне просто нужно return возвратить мой test но через std::unique_ptr<Component>
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:10   #43
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Так если вам сразу надо был указатель, зачем вы просто создаете объект на стеке? Test это производный от Component?
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 12:12   #44
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так если вам сразу надо был указатель, зачем вы просто создаете объект на стеке? Test это производный от Component?
да он наследуется от Component
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:14   #45
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Код:
 Test* test = new Test();
так луче?
тогда:
Код:
test->setName(jsonData["name"].toString());
Код:
 test->addChild(childComponent);
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:14   #46
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Без ответа на второй вопрос неизвестно.
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 12:15   #47
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Без ответа на второй вопрос неизвестно.
да он наследуется от Component
Код:
class Test : public CompositeComponent
Код:
class CompositeComponent : public Component
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:20   #48
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

То мне не нужна переменая component ? А как тогда в ретурн возвращать test?
Код:
std::unique_ptr<Test> component;
        component.operator =(test);
        return component;
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 12:26   #49
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Сообщение от dimaSlon Посмотреть сообщение
То мне не нужна переменая component ?
Скорее всего. Но это ж ваш код и ваша задумка. Я тут только одну функцию видел.

Цитата:
Сообщение от dimaSlon Посмотреть сообщение
А как тогда в ретурн возвращать test?
Обычно. В чем проблема? Вы не знали, что указателю на базовый класс можно присвоить адрес производного?

Код:
component.operator =(test);
Прекращайте это. Это выглядит как мальчик первоклассник выучил новое умное слово от брата старшеклассника и тулит его в любую дырку, чтобы покрасоваться... но на деле...
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 12:32   #50
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
component.operator =(test);
Прекращайте это. Это выглядит как мальчик первоклассник выучил новое умное слово от брата старшеклассника и тулит его в любую дырку, чтобы покрасоваться... но на деле...
та это я знаю що не правильно. я скинул как у меня есть. Но спасибо за замечания . Я теперт понял что не нужно так писать.

Последний раз редактировалось dimaSlon; 08.06.2018 в 12:37.
dimaSlon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написал программу, которая должна выводить среднее арифметическое ряда чисел, вроде все работает, но выводит какое-то левое число lfybbk Общие вопросы C/C++ 6 30.12.2016 11:33
Может ли функция возвращать множество значений? Алексей_2012 Помощь студентам 22 27.08.2015 13:19
Может ли функция возвращать массив? TzX Общие вопросы Delphi 4 20.09.2010 19:27
Как создать обратную функцию, которая из уникального номера будет возвращать строку? SkAndrew Общие вопросы Delphi 8 06.04.2008 21:10