#include <iostream>

class Date {
public:
	Date(int y, int m, int d)
	:y_ {y}, m_ {m}, d_ {d}
	{
	}
	
	std::string to_s() {
		return std::to_string(y_) + '-' +
			std::to_string(m_) + '-' +
			std::to_string(d_);
	}
	
	Date& operator+=(Date other) {
		y_ += other.y_;
		m_ += other.m_;
		d_ += other.d_;
		
		return *this;
	}
	
private:
	int y_, m_, d_;
};

Date Day(int d) {
	return Date(0, 0, d);
}

int main() {
	Date d {2018, 01, 03};
	std::cout << d.to_s() << '\n';
	d += Day(1);
	std::cout << d.to_s() << '\n';
	return 0;
}