It's not very clear what you want to achieve. In your Date class you can access _date, _month, _year
directly why do you want to set another reference?
But to answer you question
The value of _day (for eg) is not returned when i get the value of Day. I get a seemingly random number
Actually, the values are being returned, but you are getting garbage because _day, _month, and _year are just uninitialized integers. You need to initialize them in the initializer list first:
Date() : _day(0), _month(1), _year(2), Day(_day), Month(_month), Year(_year)