Constructor por defecto con la fecha actual

Iniciado por Katniss, 17 Febrero 2016, 10:25 AM

0 Miembros y 1 Visitante están viendo este tema.

Katniss

Hola chicos, soy nuevo en la comunidad y tengo un problema, me han pedido que cree una clase en la que el constructor por defecto sea la fecha actual (es decir, la fecha del pc en el momento de compilar el programa) y sé que para ello necesito la biblioteca time.h, pero no sé cómo hacerlo para el que constructor tenga por defecto ese dato...

¿Me podéis ayudar?

Gracias de antemano ;) :silbar:

ivancea96

Código (cpp) [Seleccionar]
class X{
    X(int param1, time_t t = time(0)){}
};

MAFUS

Lo que está buscando es la hora de compilación y eso se hace con la macro __TIME__, que se expande a una cadena en formato HH:MM:SS.

Katniss

Cita de: ivancea96 en 17 Febrero 2016, 15:58 PM
Código (cpp) [Seleccionar]
class X{
    X(int param1, time_t t = time(0)){}
};


¿Pero qué se supone que tengo que pasar en param1 cuando llame al constructor?

ivancea96

Cita de: Katniss en 23 Febrero 2016, 16:32 PM
¿Pero qué se supone que tengo que pasar en param1 cuando llame al constructor?

No, param1 era un parámetro cualquiera que tu quieras poner. Solo quería expresar, que los parámetros con un valor por defecto se colocan al final. Así, esa función la podrías llamar de 2 maneras:
Código (cpp) [Seleccionar]
X x1(12345),
  x2(12345, time(0)+3600); // 1 hora más tarde