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

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

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

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

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

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

Цитата:
Сообщение от p51x Посмотреть сообщение
Так может она там абстрактная?
не совсем вас понял. вфнести за фор?
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:08   #62
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://ru.wikipedia.org/wiki/%D0%90...82%D0%BE%D0%B4
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 13:08   #63
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

да функция чисто виртуальная
Код:
class CompositeComponent : public Component
{
public:
    virtual void addChild(std::unique_ptr<Component> component) = 0;
и реализовувается в Test

Последний раз редактировалось dimaSlon; 08.06.2018 в 13:12.
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:10   #64
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

И что теперь так нельзя писать?
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:13   #65
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Тогда проблем быть не должно, вы же через Test ее вызываете... проверяйте.
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 13:14   #66
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Тогда проблем быть не должно, вы же через Test ее вызываете... проверяйте.
Так через Test
Код:
void Test::addChild(std::unique_ptr<Component> component)
{
     mComponents.push_back(std::move(component));
}
ось она в Test
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:16   #67
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вызов проверяйте. Компилятор считает, что вызывается не через указатель на производный.
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 13:16   #68
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

я внес в иф переменую, чтобы ее без причины не создавать
Код:
if (jsonData["classType"] ==( ClassType::TEST))
    {
       std::unique_ptr<Test> test = std::make_unique<Test>();
       test->setName(jsonData["name"].toString());
       for(auto& сhild : jsonData["children"].toArray())
        {
            std::unique_ptr<Component> childComponent = deserialise(сhild.toObject());
            test->addChild(childComponent);
        }

        return test;
    }
я правельно тут передаю в ретурн?
Код:
  return test;
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:17   #69
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Код:
test->addChild(childComponent);
я же через test ее вызываю
dimaSlon вне форума Ответить с цитированием
Старый 08.06.2018, 13:19   #70
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Может проблема что я создаю переменую
Код:
 std::unique_ptr<Component> childComponent
и передаю Component?
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