2 апреля 2020 г. 13:12

Правильно ли я сделал?

Всем доброго времени суток. Хотел спросить правильно ли я делаю?

Есть родительский класс:

#ifndef WIRINGDATA_H
#define WIRINGDATA_H
#include "wrngDataLib_global.h"
using namespace std;
enum WiringType{
    NOTYPE = 0,
    HARNESS,
    EQUIPMENT,
    WIRE,
    STANDARTPART
};
class WRNGDATALIB_EXPORT WiringData
{
public:
    WiringData();
    WiringData(const WiringData &source);

    int getObjType() const;
    void setObjType(int value);

    uint getIdObject() const;

    string getNameObject() const;
    void setNameObject(const string &value);
protected:
    void setIdObject(const string &nameObj);
private:
    int objType = WiringType::NOTYPE;
    uint idObject;
    string nameObject;
};

#endif // WIRINGDATA_H

Есть дочерний:

#ifndef HARNESS_H
#define HARNESS_H

#include "wrngDataLib_global.h"
#include <harness/harnessident.h>
#include <wiringdata.h>

class WRNGDATALIB_EXPORT Harness : public WiringData
{
public:
    Harness();
    Harness(const Harness &source);

    HarnessIdent *getHarnessIdent() const;
    void setHarnessIdent(HarnessIdent *value);

private:
    WiringData harness;
    QMap<QString, QString> harnessAttrMap;
    HarnessIdent *harnessIdent = nullptr;
};

#endif // HARNESS_H

и его реализация:

#include "harness.h"

Harness::Harness()
{
    harness.setObjType(WiringType::HARNESS);
}

HarnessIdent *Harness::getHarnessIdent() const
{
    return harnessIdent;
}

void Harness::setHarnessIdent(HarnessIdent *value)
{
    harnessIdent = value;
}

Правильно ли я реализовал родитель-наследник? Или что-то напутал?
Заранее благодарен за помощь.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
2

Добрый день

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

Harness::Harness() : WiringData()
{
    harness.setObjType(WiringType::HARNESS);
}

Евгений, добрый день.

Спасибо!

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг Timeweb
s
3 июня 2020 г. 1:56
silo1995

C++ - Тест 003. Условия и циклы

  • Результат:35баллов,
  • Очки рейтинга-10
АП
2 июня 2020 г. 21:11
Алексей Пикенин

C++ - Тест 005. Структуры и Классы

  • Результат:75баллов,
  • Очки рейтинга2
2 июня 2020 г. 13:04
Даниил Чижевский

C++ - Тест 001. Первая программа и типы данных

  • Результат:86баллов,
  • Очки рейтинга6
Последние комментарии
3 июня 2020 г. 14:25
Михаиллл

Qt/C++ - Урок 036. QWebView - пишем простейший браузер на Qt

Если взяли все из примера, то не должно собраться, т.к. webkit webkitwidgets уже не работают. Какой класс Вы используете для браузера?
s
3 июня 2020 г. 14:00
safevgeniia

Qt/C++ - Урок 036. QWebView - пишем простейший браузер на Qt

Вроде вск записала правильно, все подключила . Проблем со сборко нет. НО вместо сайта выводится белый экран просто. В чем проблема может быть? По задумке, при нажатии на кнопку долже…
МА
3 июня 2020 г. 11:40
Михаил А

Qt/C++ - Урок 050. Логирование событий Qt приложения в текстовый файл

Как только переношу в класс метод messageHandler, он подчеркнут ошибкой в конструкторе: qInstallMessageHandler(messageHandler); Сам метод в классе называется уже: void Customers::mess…
МА
3 июня 2020 г. 10:13
Михаил А

Qt/C++ - Урок 050. Логирование событий Qt приложения в текстовый файл

Вопрос- как перенести из файла .cpp // Умный указатель на файл логированияQScopedPointer<QFile> m_logFile;// Объявляение обработчикаvoid messageHandler(QtMsgType type, const QMessa…
3 июня 2020 г. 5:16
Евгений Легоцкой

Django - Урок 048. Как добавить статус онлайн на сайте

Добрый день. Конечно, нужно будет только шаблонный тег написать, который будет забирать всех пользователей онлайн, проверяя группу текущего пользователя. У меня пользователи онлайн на …
Сейчас обсуждают на форуме
f
3 июня 2020 г. 1:49
fryn3

Можно ли сделать в QML таблицу как в Excel?

edi-tableview - нашел пока такое выглядит коряво, посмотрим что можно сделать
2 июня 2020 г. 2:46
Евгений Легоцкой

Медиа файлы Google Firebase

Картинки можете попробовать сжимать через QPixmap, там есть возможность установки scaleFactor, через него можете устанавливать нужные параметры. А что касается конвертации видео, то лучше п…
2 июня 2020 г. 2:01
Евгений Легоцкой

Перехват обращения к локальным файлам QWebEngineView

В вашем случае вполне адекватное решение. Так сказать меньше зло. В противном случае пришлось бы очень много переписывать и перепиливать.
a
1 июня 2020 г. 10:26
alekseyttrv

SSL на Android

у меня стоит версия Qt 5.14.2. В настройках android поставил openssl из коробки, и этот прроект автоматически стянулся. Достаточно было только добавить в .pro-файл строку после этого и все …
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB