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; 
	} 
}