www.pudn.com > MyElevator.rar > Stop.cpp
#include "stdafx.h"
#include "Stop.h"
CStop::CStop()
{
m_bEmpty = true;
m_bAlreadyHaveTask = false;
m_iFloor = 0;
m_iInNum = 0;
m_iOutNum = 0;
}
CStop::~CStop()
{
}
CStop& CStop::operator=(const CStop & stop)
{
m_iFloor = stop.m_iFloor;
m_iInNum = stop.m_iInNum;
m_iOutNum = stop.m_iOutNum;
m_bEmpty = stop.m_bEmpty;
m_bAlreadyHaveTask = stop.m_bAlreadyHaveTask;
return *this;
}
CStop::CStop(UINT F , UINT in , UINT out)
{
m_iFloor = F;
m_iInNum = in;
m_iOutNum = out;
m_bEmpty = (0 == m_iInNum) && (0 == m_iOutNum);
m_bAlreadyHaveTask = !m_bEmpty;
}
CStop::CStop(const CStop & stop)
{
m_iFloor = stop.m_iFloor;
m_iInNum = stop.m_iInNum;
m_iOutNum = stop.m_iOutNum;
m_bEmpty = stop.m_bEmpty;
m_bAlreadyHaveTask = stop.m_bAlreadyHaveTask;
}
void CStop::DeleteTask()
{
m_iInNum = m_iOutNum = 0;
m_bEmpty = true;
}
bool CStop::EmbedNewStop( CStop stop)
{
if (stop.GetFloor() != m_iFloor)
{
return false;
}
else
{
m_iInNum += stop.m_iInNum;
m_iOutNum += stop.m_iOutNum;
m_bEmpty = (0 == m_iInNum) && (0 == m_iOutNum);
return true;
}
}