Загрузка...

Помогите, че не так в данном классе (С++)

Тема в разделе C/C++ создана пользователем fckstah 10 окт 2023. 202 просмотра

  1. fckstah
    fckstah Автор темы 10 окт 2023 8 15 апр 2021
    Ругается, что несколько конструкторов по умолчанию

    C
    #include "header.h"

    class Book {
    public:
    Book();
    Book(const Book &book);
    Book(const char Name[100] = "-", const char Theme[100] = "-", const char Author[100] = "-", const char Publisher[100] = "-", const int Year = 0, const int Pages = 0, const int Price = 0);
    ~Book();

    void input();
    void output();


    char mName[100];
    char mAuthor[100];
    char mPublisher[100];

    protected:
    void enterDate(char*);

    char mTheme[100];
    int mYear;
    int mPages;

    private:
    void printDate(const char*, WORD);

    int mPrice;
    };

     
  2. vtlstolyarov
    vtlstolyarov 10 окт 2023 468 8 янв 2022
    Покажи содержимое "header.h", потому что тут всё ок
     
  3. AIexa
    AIexa 10 окт 2023 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 236 24 мар 2020
    в спп файле у тебя должны быть только имплементации, а само описание класса, которое ты на фигарил тут, должно быть в h файле

    Можно конечно сделать и как ты сделал, но я не помню какие там подводные, ибо все делают так, как я выше описал
     
    1. пользователь
      AIexa, какая разница где что должно быть? это лишь вопрос оптимизации, чтобы не компилить cpp файлы заново каждый раз, но ни коем образом не влияет на работоспособность
    2. AIexa
      @пользователь, я уточнил, что я не помню разницы в размещении классов в спп и h файлах, возможно там есть разница. Поэтому я и написал про это
    3. Daemon
      AIexa, кто сказал, что у тса этот код в cpp файле, а не в h?
    4. Посмотреть следующие комментарии (2)
  4. пользователь
    первый и третий конструктор выполняются при auto book = new Book()
    потому что в первом у тебя нет аргументов, а в третьем все аргументы имеют значение по умолчанию.
    убери первый конструктор
     
    1. AIexa
      @пользователь, кста рил, лол
Загрузка...
Top