fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. class Date
  6. {
  7. public:
  8. Date(int day = 0, int month = 0, int year = 0)
  9. : _day(day), _month(month),_year(year) {}
  10. ~Date(){}
  11.  
  12. int get_day() { return _day; }
  13. int get_month() { return _month; }
  14. int get_year() { return _year; }
  15. void writestuff()
  16. {
  17. std::cout << _day << "/" << _month << "/" << _year<< std::endl;
  18. }
  19. private:
  20. int _day;
  21. int _month;
  22. int _year;
  23. };
  24.  
  25. class Adatok
  26. {
  27. public:
  28. Adatok(std::string name, std::string path, Date date )
  29. : _name(name), _path(path), _date(date) {}
  30. ~Adatok(){}
  31. void writestuff()
  32. {
  33. std::cout<<_name<<" "<<_path<<" ";
  34. _date.writestuff();
  35. std::cout<<std::endl;
  36. }
  37. //change in copy constructor and copy assignment operator
  38. Adatok(const Adatok& other) = default;
  39. Adatok& operator= (const Adatok& other) = default;
  40. private:
  41. std::string _name;
  42. std::string _path;
  43. Date _date;
  44. };
  45.  
  46. void database(std::string temp, std::vector<Adatok> my_vec)
  47. {
  48. for(auto& it: my_vec)
  49. it.writestuff();
  50. }
  51. int main(int argc, char **argv)
  52. {
  53. std::vector<Adatok> my_vec;
  54. int year = 2018, month = 04, day = 15;
  55. std::string name = "name1", path = "path1";
  56. my_vec.push_back(Adatok(name,path,Date(day,month,year)));
  57.  
  58. database("something", my_vec);
  59.  
  60. return 0;
  61. }
  62.  
Success #stdin #stdout 0s 4388KB
stdin
Standard input is empty
stdout
name1 path1 15/4/2018