#include <iostream>
#include <string>
#include <vector>
class Date
{
public:
Date(int day = 0, int month = 0, int year = 0)
: _day(day), _month(month),_year(year) {}
~Date(){}
int get_day() { return _day; }
int get_month() { return _month; }
int get_year() { return _year; }
void writestuff()
{
std::cout << _day << "/" << _month << "/" << _year<< std::endl;
}
private:
int _day;
int _month;
int _year;
};
class Adatok
{
public:
Adatok(std::string name, std::string path, Date date )
: _name(name), _path(path), _date(date) {}
~Adatok(){}
void writestuff()
{
std::cout<<_name<<" "<<_path<<" ";
_date.writestuff();
std::cout<<std::endl;
}
//change in copy constructor and copy assignment operator
Adatok(const Adatok& other) = default;
Adatok& operator= (const Adatok& other) = default;
private:
std::string _name;
std::string _path;
Date _date;
};
void database(std::string temp, std::vector<Adatok> my_vec)
{
for(auto& it: my_vec)
it.writestuff();
}
int main(int argc, char **argv)
{
std::vector<Adatok> my_vec;
int year = 2018, month = 04, day = 15;
std::string name = "name1", path = "path1";
my_vec.push_back(Adatok(name,path,Date(day,month,year)));
database("something", my_vec);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgoKY2xhc3MgRGF0ZQp7CiBwdWJsaWM6CiAgICBEYXRlKGludCBkYXkgPSAwLCBpbnQgbW9udGggPSAwLCBpbnQgeWVhciA9IDApCiAgICAgICAgOiBfZGF5KGRheSksIF9tb250aChtb250aCksX3llYXIoeWVhcikge30KICAgIH5EYXRlKCl7fQoKICAgIGludCBnZXRfZGF5KCkgeyByZXR1cm4gX2RheTsgfQogICAgaW50IGdldF9tb250aCgpIHsgcmV0dXJuIF9tb250aDsgfQogICAgaW50IGdldF95ZWFyKCkgeyByZXR1cm4gX3llYXI7IH0KICAgIHZvaWQgd3JpdGVzdHVmZigpCiAgICB7CiAgICAgICBzdGQ6OmNvdXQgPDwgX2RheSA8PCAiLyIgPDwgX21vbnRoIDw8ICIvIiA8PCBfeWVhcjw8IHN0ZDo6ZW5kbDsKICAgIH0KIHByaXZhdGU6CiAgICBpbnQgX2RheTsKICAgIGludCBfbW9udGg7CiAgICBpbnQgX3llYXI7CiB9OwoKIGNsYXNzIEFkYXRvawogewogcHVibGljOgogICAgQWRhdG9rKHN0ZDo6c3RyaW5nIG5hbWUsIHN0ZDo6c3RyaW5nIHBhdGgsIERhdGUgZGF0ZSApCiAgICAgICAgOiBfbmFtZShuYW1lKSwgX3BhdGgocGF0aCksIF9kYXRlKGRhdGUpIHt9CiAgICB+QWRhdG9rKCl7fQogICAgdm9pZCB3cml0ZXN0dWZmKCkKICAgIHsKICAgICAgICBzdGQ6OmNvdXQ8PF9uYW1lPDwiICI8PF9wYXRoPDwiICI7CiAgICAgICAgX2RhdGUud3JpdGVzdHVmZigpOwogICAgICAgIHN0ZDo6Y291dDw8c3RkOjplbmRsOwogICAgfQogICAgLy9jaGFuZ2UgaW4gY29weSBjb25zdHJ1Y3RvciBhbmQgY29weSBhc3NpZ25tZW50IG9wZXJhdG9yCiAgICBBZGF0b2soY29uc3QgQWRhdG9rJiBvdGhlcikgPSBkZWZhdWx0OwogICAgQWRhdG9rJiBvcGVyYXRvcj0gKGNvbnN0IEFkYXRvayYgb3RoZXIpID0gZGVmYXVsdDsKIHByaXZhdGU6CiAgIHN0ZDo6c3RyaW5nIF9uYW1lOwogICBzdGQ6OnN0cmluZyBfcGF0aDsKICAgRGF0ZSBfZGF0ZTsKIH07Cgp2b2lkIGRhdGFiYXNlKHN0ZDo6c3RyaW5nIHRlbXAsIHN0ZDo6dmVjdG9yPEFkYXRvaz4gbXlfdmVjKQp7CiAgICBmb3IoYXV0byYgaXQ6IG15X3ZlYykKICAgICAgIGl0LndyaXRlc3R1ZmYoKTsKfQppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnsKICAgIHN0ZDo6dmVjdG9yPEFkYXRvaz4gbXlfdmVjOwogICAgaW50IHllYXIgPSAyMDE4LCBtb250aCA9IDA0LCBkYXkgPSAxNTsKICAgIHN0ZDo6c3RyaW5nIG5hbWUgPSAibmFtZTEiLCBwYXRoID0gInBhdGgxIjsKICAgIG15X3ZlYy5wdXNoX2JhY2soQWRhdG9rKG5hbWUscGF0aCxEYXRlKGRheSxtb250aCx5ZWFyKSkpOwoKICAgIGRhdGFiYXNlKCJzb21ldGhpbmciLCBteV92ZWMpOwoKICAgIHJldHVybiAwOwp9Cg==