Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2014, 05:07
erikat
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Pregunta Autoincrementar el atribuno de una clase cada vez que se genara un objeto de la misma

Muy Buenas a todos una vez más!

En esta oportunidad, luego de darle mil vueltas decido pedirles ayuda porque nadie va a inventar el agua tibia asi que alguien ya debió haberlo hecho y tal vez sea un tonteria que yo no veo.

En fin, tengo una clase llamada Rent, que sirve para generar objetos de una renta de vehiculos. Me mandan a declarar un atributo tipo INT llamado RentNo para el numero de factura o alquiler y otro tambien INT llamado LastReno, inicializado en 0. Este ultimo debe ser la referencia para el primero. Auntoincrementarse al generar un objeto de la clase Rent y de esta manera indicar el numero de alquiler o factura a imprimir.

Código C++:
Ver original
  1. Cass Rent{
  2. protected:
  3.     int rentNo;
  4.     timepoint from, to;
  5.     Vehicle *vehicle;
  6.     Driver *driver;
  7.     Rent *next;
  8.     int lastReno = 0; // Aqui falta
  9. public:
  10.     Rent(int rN, timepoint fr, timepoint t, Vehicle *v, Driver *d, Rent *n) : rentNo (rN), from(fr), to(t), vehicle(v), driver(d), next(n){} //Aqui falta algo
  11.     timepoint get_from(){
  12.         return from;
  13.     }
  14.     timepoint get_to(){
  15.         return to;
  16.     }
  17.     Rent get_next(){
  18.         return *next;
  19.     }
  20.     void set_from (timepoint c){
  21.         from = c;
  22.     }
  23.     void set_to (timepoint d){
  24.         to = d;
  25.     }
  26.     virtual void print(){
  27.     cout << "VEHICLE RENT" << endl << "RentNo: " << rentNo << endl << "Vehicle: ";
  28.     vehicle->print();
  29.     cout << endl << "From: " << from << endl << "To: " << to << endl << "Driver: " << *driver << endl << endl;
  30.     }
  31. };

Y aqui el main:

Código C++:
Ver original
  1. int main(){
  2.  
  3. Rent *r3, r1(1,t1,t2,vehicle[2],&d1,0),r2(2,t3,t4,vehicle[n],d3,&r1),r4(3,t3,t4,vehicle[3*n],d4,&r2);
  4.    return 0;
  5. }

Los demas atributos que ven, algunos son generados por otras clases. No considero necesario poner todo el codigo porque es un poco largo pero si lo consideran necesario lo copiare.

En estos momentos estoy pasando yo como primer atributo el numero de alquiler o factura a r1, r2 y r4, con 1, 2 y 3 respectivamente.

La cuestion es que debe hacerlo automaticamente.

Muchas gracias por su ayuda de antemano.

Erika