2. Resolución ejercicio 1
La clase Date modela una fecha y tiempo.
Esta clase contiene miembros privados de
datos para almacenar el día, mes, y año
de la fecha, y la hora, minutos y segundos
del tiempo.
La declaración de la clase incluye los
siguientes miembros públicos.
Mtl Lourdes Cahuich 2
3. Constructor default
Inicializa los miembros privados de datos
a los valores default
Date:: Date(void): month(0), day(0),
year(0), hour(0), minute(0),
second(0){}
Mtl Lourdes Cahuich 3
4. Constructor de seis parámetros
Acepta enteros para el día, mes, año,
hora, minutos y segundos
Date::Date (int month, int day, int year,
int hour, int minute, int second) :
month(month), day(day), year(year),
hour(hour), minute(minute), second(second)
{}
Mtl Lourdes Cahuich 4
5. Métodos de acceso (accessors) y
modificadores (mutators)
Proporcionan el acceso a los miembros
privados de datos listados anteriormente
void Date::setMonth(int& month) {
this->month = month;
}
int Date::getMonth(void) const {
return month;
}
Mtl Lourdes Cahuich 5
11. operator<<
Saca un objeto Date a un flujo de salida en el formato
quot;mm/dd/yyyy hh:nn:ssquot;
ostream &operator<<(ostream &stream, const
Date &d) {
stream << d.getMonth() << quot;/quot; <<
d.getDay() << quot;/quot; << d.getYear();
stream << quot; quot; << d.getHour() << quot;:quot; <<
d.getMinute() << quot;:quot; << d.getSecond();
return stream;
}
Mtl Lourdes Cahuich 11
12. operator>>
Este operador lee un objeto Date de un
flujo de entrada.
La fecha será leída de un flujo en la
siguiente forma:
mm/dd/yyyy hh:nn:ss n
Observa que el formato termina con un
carácter de línea nueva ('n').
Asegúrate de que tu implementación lea del
flujo este carácter final de línea nueva
Mtl Lourdes Cahuich 12
13. istream &operator>>(istream &stream,
Date &d)
{
char buffer[10];
stream.getline(buffer, 4, '/');
int value = atoi (buffer);
d.setMonth(value);
stream.getline(buffer, 4, '/');
value = atoi (buffer);
d.setDay(value);
Mtl Lourdes Cahuich 13