Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- using namespace std;
- enum class Extension {
- txt,
- pdf,
- exe
- };
- class File {
- private:
- char* name;
- Extension extension;
- char* owner;
- int size;
- public:
- File() {
- name = new char[100];
- extension = Extension::txt;
- owner = new char[100];
- size = 0;
- }
- File(char n[], Extension e, char o[], int s) {
- name = new char[100];
- owner = new char[100];
- strcpy(name, n);
- strcpy(owner, o);
- extension = e;
- size = s;
- }
- File(const File& f) {
- name = new char[100];
- owner = new char[100];
- strcpy(name, f.getName());
- strcpy(owner, f.getOwner());
- extension = f.getExtension();
- size = f.getSize();
- }
- ~File() {
- delete name;
- delete owner;
- }
- char* getName() const {
- return name;
- }
- char* getOwner() const {
- return owner;
- }
- Extension getExtension() const {
- return extension;
- }
- int getSize() const {
- return size;
- }
- void operator=(const File& f) {
- name = new char[100];
- owner = new char[100];
- strcpy(name, f.getName());
- strcpy(owner, f.getOwner());
- extension = f.getExtension();
- size = f.getSize();
- }
- void print() {
- string e = "";
- if (extension == Extension::txt) e = "txt";
- if (extension == Extension::pdf) e = "pdf";
- if (extension == Extension::exe) e = "exe";
- cout << "File name: " << name << "." << e << endl;
- cout << "File owner: " << owner << endl;
- cout << "File size: " << size << endl;
- }
- bool equals(const File& that) {
- return true;
- }
- bool equalsType(const File& that) {
- return true;
- }
- };
- class Folder {
- private:
- char* name;
- int number = 0;
- File* files;
- public:
- Folder(const char* name) {
- this->name = new char[100];
- strcpy(this->name, name);
- this->files = new File[100];
- }
- ~Folder() {
- delete name;
- delete files;
- }
- void remove(const File& file) {
- for (int i = 0; i < number; i++) {
- if (files[i].equals(file)) {
- // shift the others to the left
- for (int k = i; k < number - 1; k++) {
- files[k] = files[k + 1];
- }
- number--;
- break;
- }
- }
- }
- void add(const File& file) {
- files[number++] = file;
- }
- void print() {
- cout << "Folder name: " << name << endl;
- // DOPOLNI
- }
- };
- int main() {
- }
Advertisement
Add Comment
Please, Sign In to add comment