Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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

{

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
МГТУ МИРЭА.09.03.01.6ПЗ  
string name; string tip; string data_sozd[6]; string data_izm;

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];


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
МГТУ МИРЭА.09.03.01.6ПЗ  
Так как в задании указано реализовать конкретный объект Group (группа), содержащий список файлов, из объекта типа Directory. С помощью которого должна быть возможность выбирать группу файлов по признаку удаления, по атрибутам, по дате создания. То создаётся массив из трёх элементов класса Directory, для хранения файлов по признаку удаления, по атрибутам, по дате создания.

Программный код разбит на 3 файла состоящие из “KR.cpp” – главная программа, “clas.cpp” – объявление класса, “clas2.cpp” – реализация методов класса.

Связь файлов между собой в проекте показана на рис.1

Заголовочный файл DailySchedule.h
clas.cpp
KR.cpp
clas2.cpp


Рисунок 1 – связь файлов проекта







Date: 2016-05-23; view: 319; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию