using?namespace?std;
class?Mobile//運動類
{
public:
Mobile(int);
Mobile();
unsigned?int?Spd; //速度
int?alt; //加速度
int?dlt;//減速度
void?Acceleration(int);?//加速度函數
void?Deceleration(int);//減速度函數
void?Speed(); //勻速函數
void?Mob(); //運動函數
};
Mobile::Mobile(int?spd)?:?alt(0),dlt(0),Spd(spd)
{
}
Mobile::Mobile()?:?alt(0),dlt(0),Spd(0){}
void?Mobile::Acceleration(int?Step=1)?//加速時減速變量為零,//速度為當前速度加步長
{
alt=Step;
Spd+=alt;
dlt=0;
}
void?Mobile::Deceleration(int?Step=1)?////減速時加速變量為零,//速度為當前速度減步長
{
dlt=Step;
Spd-=dlt;
alt=0;
}
void?Mobile::Speed()?//勻速運動,加速減速都為0,速度不變
{
alt=0;
dlt=0;
}
void?Mobile::Mob() //模擬運動
{
cout<<"當前速度:"
<<Spd;
cout<<((alt>dlt)"加速度為:"?:?"減速度為:")
<<?((alt>dlt)alt?:?dlt)
<<endl;
}
int?main()
{
Mobile?m;
for(int?i=0,k=0;?i<200;i++)
{
if?(i<100)
{
m.Acceleration();
m.Mob();
}
else
{
k++;
m.Deceleration();
m.Mob();
}
}
system("pause");
}