// Ejemplo del uso del Constructor de Copia #include class ClFecha { int dd; int mm; int aa; public: ClFecha(int D=1, int M=1, int A=1900); ClFecha(const ClFecha &); //Constructor de Copia void DefineD(int); void DefineM(int); void DefineA(int); char *Dame(void); void Aumenta(void); }; ClFecha::ClFecha(int D, int M, int A) { dd=D; mm=M; aa=A; } ClFecha::ClFecha(const ClFecha &F) { dd = F.dd; mm = F.mm; aa = F.aa; } void ClFecha::DefineD(int D) { dd=D; } void ClFecha::DefineM(int M) { mm=M; } void ClFecha::DefineA(int A) { aa=A; } char *ClFecha::Dame(void) { char *F; int aux; F=new char[11]; F[0]='0'+ dd/10; F[1]='0'+ dd%10; F[2]='/'; F[3]='0'+ mm/10; F[4]='0'+ mm%10; F[5]='/'; F[6]='0'+ aa/1000; aux=aa%1000; F[7]='0'+ aux/100; aux %= 100; F[8]='0'+ aux/10; F[9]='0'+ aux%10; F[10]=0; return F; } void ClFecha::Aumenta(void) { if (dd == 30) { dd = 1; if (mm==12) { mm = 1; aa++; } else mm++; } else dd++; } void main(void) { ClFecha Hoy; int D,M,A; cout << "Ingrese la fecha de hoy : "; cin >> D >> M >> A; Hoy.DefineD(D); Hoy.DefineM(M); Hoy.DefineA(A); cout << "La fecha de hoy es : " << Hoy.Dame() << endl; ClFecha Maņana=Hoy; Maņana.Aumenta(); cout << "La fecha de maņana es:" << Manana.Dame() << endl; } /* Cuando se ejecuta el programa se obtiene: Ingrese la fecha de hoy : 13 5 1999 La fecha de hoy es : 13/05/1999 La fecha de maņana es : 14/05/1999 */