![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.04.2018
Сообщений: 5
|
![]()
Помогите плиз начинающему писаке)))
суть такова, я только начал учиться, пытаюсь освоить ООП и вот в написании небольшого кода у меня возник ступор дальше которого не могу двинуться, есть ошибки, а где не понимаю(((( собственно сам код тут класс и метод класса Код:
Код:
______________________ Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. Последний раз редактировалось Alex11223; 22.04.2018 в 09:56. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
Ошибкак то какая? А так для размышления:
1. Зачем вам класс, если все поля в паблике? 2. Что вы собрались иницилизировать в библиотеке инфой об одной книге? 3. При добавлении почему вы начинаете писать в массивы с 1? 4. Почему удаление не удаляет по индексу, как следует из интерфеса, а с конца? 5. Почему нет проверки при добавлении на ваши 50? Почему нет проверки при удалении на индекс? 6. Зачем вы включаете неиспользуемые заголовки? 7. Воид не надо в С++ писать в параметрах 8. Зачем вам диструктор, если уничтожать в ручную тут ничего не надо? 9. Не стоит писать пустой дефолтный конструктор. Если нужен пишите =default. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.04.2018
Сообщений: 5
|
![]()
Там должна быть не одна книга, что то типа базы данных, с возможностью забивать книги, а потом вызывать информацию о них.
Я еще плохо шарю во всем этом, вот и накидал такое... А ошибок там достаточно, вот и пытаюсь разгрести, код запускается но дальше ад какой то.. Директивы то я уберу лишние, это фигня, у меня проблема с методом класса где то, данные ввести я могу, а когда их вызываю выдает кучу не нужных символов Какую проверку Вы имеете в виду? Вы имели ввиду здесь воид не нужно писать? bibl::bibl(void) { } bibl::bibl(int _inv, char _avtor, char _nazva, int _pages, int _year) { } bibl::~bibl(void) Последний раз редактировалось radistkmm; 22.04.2018 в 03:10. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ввод/вывод обычно не делают внутри таких классов. Делайте ввод снаружи и передавайте параметрами функций класса, а результат возвращайте и выводите снаружи что надо. Посмотрите на стандартные контейнеры (std::vector, ...).
Хватит оправдываться всякой фигней, лучше сообщение выше читайте до понимания.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() Цитата:
Цитата:
Я обе описал. Да. Это в С есть разница между () и (void). |
||
![]() |
![]() |
![]() |
#6 |
Регистрация: 21.04.2018
Сообщений: 5
|
![]()
Хоть я так и не понял что к чему, но все равно спасибо)
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
![]()
а что тут не понятного? У тебя библиотека состоит из книг. Так опиши эту сущность, создай класс книга Book.
ну что там будет- название, автор, год. Все эти поля определи приватными. Наверное лучше сделать конструктор с параметрами ( название, автор, год). И функции геттеры. Если редактировать не надо, сеттеры не нужны. Я бы в место массивов char использовал std::string. Ну а далее нам твои книги надо поместить в библиотеку. Можно, для хранения использовать массив или вообще класс написать. Но зачем есть же стандартные контейнеры, вектор например. Код:
Последний раз редактировалось SAMOUCHKA; 22.04.2018 в 15:04. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 21.04.2018
Сообщений: 5
|
![]()
Получается мне нужно дописать еще один класс и описание к нему, правильно?
std::string это что? контейнер? |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Вас в гугле забанили? (если да — используйте VPN)
Читайте и гуглите непонятные слова.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
![]()
напиши класс книга (Book), а уже объекты этого класса помещай в библиотеку.
ну типа того. это тип данных для работы со строками. используй его вместо массива char[] гораздо удобнее |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пытаюсь освоить Python, инвалид синтакс | L-A | Python | 9 | 15.11.2012 13:22 |
Как освоить С++ | futureteamleader | Свободное общение | 7 | 17.10.2009 00:57 |
пытаюсь освоить firebird, пока что-то никак :) | friz | БД в Delphi | 3 | 21.09.2009 14:18 |
Паскаль ООП. Примеры программ с использованием ООП | SeЯgey | Помощь студентам | 5 | 13.05.2009 21:55 |