Структура и класс C++
Всем привет!
Заранее прошу прощения за глупые вопросы, я только изучаю программирование на С++.
В институте дали лабораторную. Краткая суть задачи: создать структуру (название экзамена, дата экзамена, фамилия преподавателя, оценки), а также написать функции для работы с массивом структур (например, очистить одну структуру или найти пустую, отсортировать структуры по возрастанию/убыванию какого-то поля и т.д.).
Я все реализовала (создала структуру, массив структур и просто функции, которые работают с массивом структур). Но мне поставили 2 с комментарием: “В коде должна быть реализована отдельно структура данных и отдельно класс Database, в котором уже нужные функции и методы.”
То есть мы должны манипулировать массивом структур как-то через МЕТОДЫ КЛАССА, а не просто ФУНКЦИИ.
Подскажите, как это реализовать? Я совсем не понимаю, нужно сделать массив структур массивом объектов? У меня просто в голове все это не связывается.
Если можете, простыми словами, ООП я понимаю, наверно, очень плохо, но готова разобраться, когда буду понимать, что вообще разбирать…
Если кому-нибудь не лень читать, то вот полное задание...
Разработать программу ведения и использование базы данных с использованием структурных переменных и сохранением данных в плоском (без использования форматирования) файле. Для этого создать шаблон структуры, создать набор функций для работы с массивом структурных переменных. В структурной переменной предусмотреть способ отметки ее как не содержащей данных (т.е. "пустой"). Разработать функции в соответствии с ниже приводимым перечнем:
- “Очистка” структурных переменных (отметка переменной как не содержащей данных). Функция должна получать в качестве параметра индекс массива.
- Поиск свободной структурной переменной. Функция должна возвращать индекс первого свободного элемента в массиве структур.
- Ввод элементов (полей) структуры с клавиатуры. В качестве параметра в функцию должен передаваться индекс элемента массива.
- Вывод элементов (полей) структуры на монитор. В функцию должен передаваться индекс элемента массива.
- Вывод на экран всех заполненных элементов массива структур.
- Поиск в массиве структур элемента с заданным значением поля или с наиболее близким к нему по значению. Предусмотреть возможность задания одного числового значения и одного строкового.
- Поиск в массиве структуры с минимальным значением заданного поля. Поле должно передаваться в поле числом, обозначающим номер поля в структуре.
- Сортировка массива структур в порядке возрастания заданного поля (при сортировке можно использовать тот факт, что в Си++ разрешается присваивание структурированных переменных);
- Сортировка массива структур в порядке убывания заданного поля (при сортировке можно использовать тот факт, что в Си++ разрешается присваивание структурированных переменных);
- Функция чтения файла с содержимым базы данных (массива структурных элементов).
- Функция записи в файл содержимого базы данных (массива структурных элементов). Функции должны работать с массивом структурных переменных или с отдельной структурной переменной через указатели, а также при необходимости возвращать указатель на структурную переменную или массив структурных переменных._