¡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()
{ p >
distancia?=?0?;
RunTime?=?0?;
restTime?=?0?;
} p >
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?<"Por favor, introduce el tiempo de carrera\n"?;
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?<¿Tiempo?<"El conejo ganó después de minutos\n"?;?
}
else?if?(rabbit.GetDistance()?
{
cout?< ¿Tiempo? <"La tortuga ganó después de minutos\n"?;?
}
más
{
cout? << ?¿Tiempo?<"La liebre y la tortuga atadas después de minutos\n"?;?
}
¿regreso?0?;
}