#include using namespace std; #include "Date.h" #include "Time.h" #include "CalendarItem.h" CalendarItem::CalendarItem() : m_date(Date()), m_time(Time()), m_duration(30), m_description("") { /* empty constructor body */ } CalendarItem::CalendarItem(Date date, Time time, int duration, string description) : m_date(date), m_time(time), m_duration(duration), m_description(description) { /* empty constructor body */ } ostream& operator <<(ostream& sout, const CalendarItem& ci) { sout << "Date: " << ci.m_date << endl; sout << "Start time: " << ci.m_time << endl; if (ci.m_duration > 0) { sout << "End time: " << (ci.m_time + ci.m_duration) << endl; } sout << "Description: " << ci.m_description; return sout; } const Date CalendarItem::GetDate() const { return m_date; } const Time CalendarItem::GetTime() const { return m_time; } int CalendarItem::GetDuration() const { return m_duration; } bool CalendarItem::Conflict(const CalendarItem &appt) const { return ( ( m_date == appt.GetDate() ) && ( ( appt.GetTime() <= m_time && m_time < appt.GetTime() + appt.GetDuration()) || ( m_time <= appt.GetTime() && appt.GetTime() < m_time + m_duration ) ) ); }