|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.04.2018, 22:19 | #1 |
Регистрация: 21.04.2018
Сообщений: 5
|
пытаюсь освоить ООП
Помогите плиз начинающему писаке)))
суть такова, я только начал учиться, пытаюсь освоить ООП и вот в написании небольшого кода у меня возник ступор дальше которого не могу двинуться, есть ошибки, а где не понимаю(((( собственно сам код тут класс и метод класса Код:
Код:
______________________ Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. Последний раз редактировалось Alex11223; 22.04.2018 в 09:56. |
22.04.2018, 00:15 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Ошибкак то какая? А так для размышления:
1. Зачем вам класс, если все поля в паблике? 2. Что вы собрались иницилизировать в библиотеке инфой об одной книге? 3. При добавлении почему вы начинаете писать в массивы с 1? 4. Почему удаление не удаляет по индексу, как следует из интерфеса, а с конца? 5. Почему нет проверки при добавлении на ваши 50? Почему нет проверки при удалении на индекс? 6. Зачем вы включаете неиспользуемые заголовки? 7. Воид не надо в С++ писать в параметрах 8. Зачем вам диструктор, если уничтожать в ручную тут ничего не надо? 9. Не стоит писать пустой дефолтный конструктор. Если нужен пишите =default. |
22.04.2018, 02:40 | #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. |
22.04.2018, 10:58 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ввод/вывод обычно не делают внутри таких классов. Делайте ввод снаружи и передавайте параметрами функций класса, а результат возвращайте и выводите снаружи что надо. Посмотрите на стандартные контейнеры (std::vector, ...).
Хватит оправдываться всякой фигней, лучше сообщение выше читайте до понимания.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
22.04.2018, 11:04 | #5 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Цитата:
Цитата:
Я обе описал. Да. Это в С есть разница между () и (void). |
||
22.04.2018, 14:40 | #6 |
Регистрация: 21.04.2018
Сообщений: 5
|
Хоть я так и не понял что к чему, но все равно спасибо)
|
22.04.2018, 15:02 | #7 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
а что тут не понятного? У тебя библиотека состоит из книг. Так опиши эту сущность, создай класс книга Book.
ну что там будет- название, автор, год. Все эти поля определи приватными. Наверное лучше сделать конструктор с параметрами ( название, автор, год). И функции геттеры. Если редактировать не надо, сеттеры не нужны. Я бы в место массивов char использовал std::string. Ну а далее нам твои книги надо поместить в библиотеку. Можно, для хранения использовать массив или вообще класс написать. Но зачем есть же стандартные контейнеры, вектор например. Код:
Последний раз редактировалось SAMOUCHKA; 22.04.2018 в 15:04. |
22.04.2018, 15:16 | #8 |
Регистрация: 21.04.2018
Сообщений: 5
|
Получается мне нужно дописать еще один класс и описание к нему, правильно?
std::string это что? контейнер? |
22.04.2018, 15:57 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вас в гугле забанили? (если да — используйте VPN)
Читайте и гуглите непонятные слова.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
22.04.2018, 15:57 | #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 |