Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Реализация класса Directory
Для начала необходимо создать класс Directory, в состав которого войдут переменные содержащий название родительского каталога, количество файлов в каталоге, список файлов в каталоге, путь к каталогу и объём каталога в байтах. Для этого были созданы переменные string name_kot; int kol_file = 0; long int size_katalog = 0; string put_katalog; которые были добавлены в спецификаторе public: для дальнейшего использования вне класса, а именно в главной программе. В качестве информационной записи выступает структура data_file, вследствие чего был выведен массив структур KATALOG[50] для заполнения данными пятьюдесятью файлами каталога. Листинг объявления структуры data_file и класса Directory приведён ниже.
struct data_file {
bool atr_read; bool atr_skr; bool atr_sys; bool vibor; bool ydalenie; long int razmer; };
class Directory { private: data_file KATALOG[50]; public: string name_kot; int kol_file = 0; long int size_katalog = 0; string put_katalog;
bool zapoln(string put); void vivod(); void dobavlenie(); string ydalenie(); void poisk(); void peresechenie(Directory peresech); void obedinenie(Directory obedin); void grupirirovYdal(Directory &group); void vivodGroup(); void grupirirovAtre(Directory &group); void grupirirovData(Directory &group);
};
Так как структура data_file KATALOG[50]; находится в приватном доступе класса Directory, то для обращения к этой структуре необходим конструктор или метод, для присвоения первоначальных значений переменным структуры KATALOG. В связи с тем, что пользователь при запуске программы указывает количество каталогов с которыми он будет работать конструктор в качестве заполнения данными не является обходимым. Листинг создания в главной программе объекта класса Directory представлен ниже:
cout << "Введите колличество каталогов: "; cin >> kol_katal; Directory *katalog = new Directory[kol_katal]; Directory group[3];
Программный код разбит на 3 файла состоящие из “KR.cpp” – главная программа, “clas.cpp” – объявление класса, “clas2.cpp” – реализация методов класса. Связь файлов между собой в проекте показана на рис.1
Рисунок 1 – связь файлов проекта Date: 2016-05-23; view: 319; Нарушение авторских прав |