Red de conocimiento informático - Material del sitio web - ¡Esperando en línea! Preguntas de programación en C++, uso de clases para compilar

¡Esperando en línea! Preguntas de programación en C++, uso de clases para compilar

Escribe la clase tortuga y la clase conejo respectivamente, y sobrecarga el operador de incremento automático ++,

Cada vez ++ equivale a un minuto experimentado por la tortuga y el conejo. ,

El tipo tortuga ++ solo simula correr 5 decímetros.

El tipo conejo ++ tiene un juicio si está en reposo (RunTime no es 0)

Entonces no corras (¿no sumas 15 a la distancia?)

Y resta un minuto al tiempo de descanso restante (--RunTime)

Mira el resto para usted mismo #include?

usando?namespace?std?;

////////////////////// // ////////////////////////////////////?Tipo de tortuga

¿clase? etiquetaTORTOISE

{

público:

tagTORTOISE() { distancia?=?0? }

void?operator++()? ;

unsigned?int?GetDistance()?;

privado:

unsigned?int?distance?;

} ;

void?tagTORTOISE::operator++()

{ //La simulación avanza 5 decímetros por minuto

distancia?+=?5?

}

unsigned?int?tagTORTOISE::GetDistance()

{ //Distancia de retorno

return?distance?

}

///////////////////////////////////// // //////////////////

//?Clase de conejo

clase?tagRABBIT

{< / p>

público:

tagRABBIT() ;

void?operator++()?;

unsigned?int?GetDistance()?;< / p>

void?setRestTime()?;

bool?RunTimeEqualTen()?;

privado:

unsigned?int?distance,

p>

RunTime,

restTime?;

};

tagRABBIT::tagRABBIT()

{

distancia?=?0?;

RunTime?=?0?;

restTime?=?0?;

}

void?tagRABBIT::operator++()

{ //Ha pasado un minuto después de la simulación

if?(restTime==0)

{ //?Si no necesitas descansar, avanza

¿distancia?+=?15?;

//El tiempo de carrera se incrementa en ?1?

++ RunTime?;

¿regresar?;

}

// Toma un descanso de un minuto si quieres tómate un descanso

--restTime?;

}

unsigned?int?tagRABBIT::GetDistance()

p>

{ ///?Distancia de retorno

¿retorno?distancia?;

}

void?tagRABBIT::setRestTime()

{ ///?El tiempo de descanso está establecido en?30? minutos

restTime?=?30?;

}

bool?tagRABBIT: : RunTimeEqualTen()

{ ///? ¿Se ejecutó el fragmento de conejo? 10 minutos

si (RunTime!=10)

{

return?false?;

}

//Después de ejecutar durante 10 minutos, el tiempo de ejecución comienza nuevamente

RunTime =?0 ?;

return?true?;

}

////////////////// /// ///////////////////////////////////////?main?function?

int?main()

{

etiquetaTORTOISE?tortuga?;

etiquetaRABBIT?conejo?;

sin firmar?int?Hora ?=?0,?t?;

cout?<

cin?>> ?Tiempo?;

t?=?Tiempo?;

while?(t--)

{

///¿Tiempo de bucle? ¿Se ejecutó la simulación? ¿Tiempo? veces

if?(rabbit.RunTimeEqualTen())

{

///Conejo cada diez Mira hacia atrás a la tortuga en un minuto

if?(rabbit.GetDistance()?>?tortoise.GetDistance())

{

///El conejo supera a la tortuga, conjunto el tiempo de descanso

Rabbit.setRestTime()?;

}

}

// El conejo y la tortuga van cada uno a través de unos minutos

++conejo?;

++tortuga?;

}

si?(conejo.GetDistance() ?> ?tortoise.GetDistance())

{

cout?<

}

else?if?(rabbit.GetDistance()?

{

cout?<

}

más

{

cout? << ?¿Tiempo?<

}

¿regreso?0?;

}