Estoy escribiendo una clase de "Fecha" para una tarea y estoy teniendo problemas para realizar una de las funciones.¿Cómo se comparan dos objetos (el objeto que llama y el parámetro) en una clase?
Este es el archivo de encabezado de la clase.
class Date
{
public:
Date(); // Constructor without parameters
Date(int m, int d, int y); // Constructor with parameters.
// accessors
int GetMonth(); // returns the size of the diamond
int GetDay();
int GetYear();
// mutators
bool Set(int m, int d, int y);
bool SetFormat(char f);
// standard input and output routines
void Input();
void Show();
void Increment(int numDays = 1);
int Compare(const Date& d);
private:
int month, // month variables
day, // day variable
year; // year variable
char format;
};
La función miembro que estoy tratando de hacer es el int Comparar (const Fecha & d) función. Necesito esta función para comparar dos objetos Date (el objeto que llama y el parámetro ), y debería devolver: -1 si el objeto llamante es el primero cronológicamente, 0 si los objetos son de la misma fecha y 1 si el objeto parámetro viene primero cronológicamente
He intentado hacer una instrucción if simple con el operador == pero obtengo errores.
if (d1 == d2)
cout << "The dates are the same";
return (0);
Una vez creados los objetos, la función debe ser llamada como esto d1.Compare (d2)
gracias de antemano!
Gracias, eso es exactamente lo que estaba tratando de hacer. –