Untitled
unknown
c_cpp
2 years ago
2.6 kB
5
Indexable
Never
#include <iostream> #include <string> using namespace std; class File { protected: //protected, щоби поля батьківського класу (FILE) мали доступ до класу CATALOG string name; int size; //розмір файлу string dateOfCreation; string timeOfCreation; string attrib; //атрибут файлу ("h": hidden, "a": archived, "p": pinned and so on) public: File() { //Конструктор за замовчуванням this->name = ""; this->size = 0; this-> dateOfCreation = "dd.mm.yyyy"; this->timeOfCreation = "hh.mm"; this->attrib = ""; } //Конструктор ініціалізації (присвоює полям класу (рядки 7-11) передані значення) File(string name, int size, string dateOfCreation, string timeOfCreation, string attrib) { //Відповідно саме присвоювання переданими значеннями поля класу this->name = name; this->size = size; this->dateOfCreation = dateOfCreation; this->timeOfCreation = timeOfCreation; this->attrib = attrib; } //Тут мають бути потрібні методи (які собі придумаєш) ~File() = default; //Деструктор //МОЖНА ЩЕ писати деструктор так: //~File() { // //} }; class Catalog: public File { //Тут модифікатор доступу майже завжди повинен бути PUBLIC (щоби мати доступ до полів батьківського класу) private: File* fileArray; //Динамічний масив об'єктів класу FILE public: //Конструктор за замовчуванням Catalog() { this->fileArray = new File[this->size]; //виділення динамічної пам'яті для масиву } //Тут ще має бути конструктор ініціалізації, методи, але я трішки не маю часу розписати аххаха сорі! //Деструктор ~Catalog() { delete[] this->fileArray; //видалення динам. пам'яті } }; int main() { //Об'єкт класу FILE, тобто наш файлик =) File file("file.txt", 2, "19.09.2022", "23:30", "p"); return 0; }