Advertisement
Sanlover

Untitled

Nov 25th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. struct FileDate {
  6. size_t day;
  7. size_t month;
  8. size_t year;
  9.  
  10. FileDate(const size_t& day, const size_t& month, const size_t& year)
  11. : day(day), month(month), year(year){};
  12. };
  13.  
  14. using directory_type = std::string;
  15. using date_type = FileDate;
  16. using name_type = std::string;
  17. using size_type = std::double_t;
  18. using file_type = bool;
  19.  
  20. constexpr bool FILE_TYPE = true;
  21. constexpr bool FOLDER_TYPE = true;
  22.  
  23. class File {
  24. private:
  25. name_type name_;
  26. file_type type_;
  27. size_type size_;
  28. date_type created_;
  29. date_type changed_;
  30. directory_type directory_;
  31.  
  32. public:
  33. File()
  34. : name_("Unnamed"),
  35. type_(FILE_TYPE),
  36. size_(0.0),
  37. created_(0, 0, 0),
  38. changed_(0, 0, 0),
  39. directory_("C:\Files") {}
  40. File(name_type name, const file_type& type, const size_type& size,
  41. const date_type& created, const date_type& changed,
  42. directory_type directory)
  43. : name_(name),
  44. type_(type),
  45. size_(size),
  46. created_(created),
  47. changed_(changed),
  48. directory_(directory) {}
  49. File(const File& original)
  50. : name_(original.name_),
  51. type_(original.type_),
  52. size_(original.size_),
  53. created_(original.created_),
  54. changed_(original.changed_),
  55. directory_(original.directory_) {}
  56.  
  57. name_type get_name() const { return name_; }
  58. file_type get_type() const { return type_; }
  59. size_type get_size() const { return size_; }
  60. date_type get_created() const { return created_; }
  61. date_type get_changed() const { return changed_; }
  62. directory_type get_directory() const { return directory_; }
  63.  
  64. void set_name(name_type& name) { name_ = name; }
  65. void set_type(const file_type& type) { type_ = type; }
  66. void set_size(const size_type& size) { size_ = size; }
  67. void set_created(const date_type& created) { created_ = created; }
  68. void set_changed(const date_type& changed) { created_ = changed; }
  69. void set_directory(directory_type& directory) { directory_ = directory; }
  70.  
  71. File copy() const {
  72. File copy = *this;
  73. return copy;
  74. }
  75. };
  76.  
  77. int main() {
  78. File A("porn.txt", FILE_TYPE, 4.32, date_type(24, 11, 2020),
  79. date_type(25, 11, 2020), "C:/Porn");
  80.  
  81. std::cout << A.copy().get_directory();
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement