C++. Please do not change the existing code. The instructions are in the image that is provided. Please zoom in or you can download the png file. Can you please provide every section of code that is needed there is Time.cpp, Time.h, Date.cpp, Date.h, Event.cpp, Event.h, and main.cpp. Thank you!
Time.cpp
#include "Time.h"
//Default Constructor
//Constructor with parameters
int Time::getHour() const { return hour; }
int Time::getMinute() const { return minute; }
int Time::getSecond() const { return second; }
void Time::setHour(int h) { hour = h; }
void Time::setMinute(int m) { minute = m; }
void Time::setSecond(int s) { second = s; }
int Time::timeToSeconds() const
{
return (getSecond() + getMinute() * 60 + getHour() * 3600);
}
const Time Time::secondsToTime(int s) const
{
int resultS = s % 60;
s /= 60;
int resultM = s % 60;
s /= 60;
int resultH = s % 24;
return Time(resultH, resultM, resultS);
}
//toString
// +
// -
//
// >
// ==
------
Time.h
#ifndef TIME
#define TIME
#include
using namespace std;
class Time
{
private:
int hour;
int minute;
int second;
int timeToSeconds() const;
const Time secondsToTime(int s) const;
public:
Time();
Time(int h, int m, int s);
string toString() const;
int getHour() const;
void setHour(int h);
int getMinute() const;
void setMinute(int m);
int getSecond() const;
void setSecond(int s);
const Time operator+(const Time &other) const;
const Time operator-(const Time &other) const;
bool operator<(const time="" &other)="">(const>
bool operator>(const Time &other) const;
bool operator==(const Time &other) const;
};
#endif
------
Date.cpp
#include "Date.h"
//Default Constructor
//Constructor with parameters
int Date::getDay() const { return day; }
int Date::getMonth() const { return month; }
int Date::getYear() const { return year; }
void Date::setDay(int h) { day = h; }
void Date::setMonth(int m) { month = m; }
void Date::setYear(int s) { year = s; }
//dateToDays
//daysToDate
//toString
// +
// -
//
// >
// ==
------
Date.h
#ifndef DATE
#define DATE
#include
using namespace std;
class Date
{
private:
int day;
int month;
int year;
int dateToDays() const;
const Date daysToDate(int ndays) const;
public:
Date();
Date(int d, int m, int y);
string toString() const;
int getDay() const;
void setDay(int d);
int getMonth() const;
void setMonth(int m);
int getYear() const;
void setYear(int y);
const Date operator+(int ndays) const;
const Date operator-(int ndays) const;
bool operator<(const date="" &other)="">(const>
bool operator>(const Date &other) const;
bool operator==(const Date &other) const;
};
#endif
------
Event.cpp
------
Event.h
------
main.cpp
#include
#include "Time.h"
#include "Date.h"
#include "Event.h"
using namespace std;
int main() {
return 0;
}
and < operators="" the="" time="" class="" will="" support="" the="" greater="" than="" and="" less="" than="" operators.="" 0:0:0="" is="" the="" smallest="" time="" and="" 23:59:59="" is="" the="" greatest="" time.="" bool="">< (const="" &="" time="" other)="" const;="=" operator="" two="" time="" objects="" are="" equal="" when="" they="" have="" the="" same="" values="" for="" their="" member="" variables.="" bool="" operator="=" (const&="" time="" other)="" const;="" date="" this="" class="" will="" represent="" a="" calendar="" day.="" for="" simplicity,="" we="" are="" excluding="" leap="" years,="" and="" all="" months="" have="" 31="" days.="" thus,="" a="" year="" for="" this="" program="" has="" 372="" days="" (31="" days="" x="" 12).="" this="" class="" has="" these="" data="" members.="" •="" int="" month="" int="" day="" •="" int="" year="" you="" will="" write="" the="" date="" class="" to="" have="" these="" functions.="" default="" constructor="" the="" default="" constructor="" will="" initialize="" the="" date="" object="" to="" its="" minimum="" value:="" 1/1/0.="" constructor="" the="" date="" constructor="" will="" take="" 3="" integer="" parameters,="" day,="" month,="" year.="" if="" the="" constructor="" receives="" invalid="" parameters,="" such="" as="" 15="" for="" month,="" it="" will="" set="" that="" value="" to="" zero.="" the="" accepted="" ranges="" of="" the="" member="" variables:="" day:="" 1="" -=""> 31 month: 1 -> 12 year: O -> inf Getters and Setters You should create a getter and setter method for each member variable. For this assignment we provide these. Note: The getter methods should be constant and their parameter should be a constant reference. toString This function will return a string describing what date the object represents. The format is dd/mm/yyyy. Date date = Date (5, 2, 1999); cout < date.tostring="" ()="">< endl;="" the="" above="" code="" should="" print:="" 5/2/1999="" datetodays="" this="" is="" a="" private="" helper="" function="" and="" will="" make="" the="" +,="" -="">< and=""> functions easier. This function takes no input and returns the number of days from the minimum Date. So a date 3/1/1 would return 1119. This function is Not provided in the template. int dateToDays () const; daysToDate This is a Private helper function and will make the +, -, < ,and=""> functions easier. This function takes aan integer as input and returns a Date. This is the reverse calculation of dateToDays. This function is Not provided in the template. const Date daysToDate (int ndays) const; + and - overload (Date + int) Sometimes it doesn't make sense to add two of the same object together, but rather two different objects. Adding two Time objects together makes more sense than adding two date objects together. People don't use dates that way. Specifically, we think of elapsed dates as the number of days elapsed. So for this class, we are only going to add (or subtract) an integer to a Date, which represents the number of days ahead or behind the date. const Date operator+ (int other) const; const Date operator- (int other) const; Date date1 = Date (5, 2, 2021) ; datel = datel + 7; cout < datel.tostring="" ()="">< endl;="" the="" above="" code="" should="" print:="" 12/2/2021=""> and < overload="" the="" date="" class="" will="" support="" the="" greater="" than="" and="" less="" than="" operators.="" 1/1/0="" is="" the="" smallest="" date="" and="" 31/12/inf="" is="" the="" greatest="" date.="" bool="">< (const="" &="" date="" other)="" const;="" bool="" operator=""> (const & Date other) const; == overload Two date objects are equal when they have the same values for their member variables. bool operator== (consté Date other) const; Event This class has these data members. pgramming Assignment 5- Classes • Date date • Time time You will write the event class to have these functions. This class should have as members one Date and one Time object. Constructor The event constructor will take two strings, a date, and a time as input. The first is the description, the second is the location, third is date, fourth is time. hasPassed This function will return True if the event has passed. It will take a date and a time as input. Date today = Date (10, 20, 2021); Event event = Event ("Party", "Cari's House", today, Time (22, 0, 0)); cout < event.haspassed="" (today,="" time="" (22,="" 10,="" 0))="" «="" endl;="" "/="">
Extracted text: You are going to be creating part of an event planning system. You will create three classes: Time, Date, Event. Together these classes will have the functionality to describe when events take place, and the ability to compare different times. Time This class is going to represent a 24-hour cycle clock time. That means 0:0:0 (Hour:Minute:Second) is the beginning of a day and 23:59:59 is the end of the day. This class has these data members. • int sec • int min • int hour You will write the time class to have these functions. Default Constructor The default constructor will initialize the time object to its minimum value: 0:0:0. Constructor The time constructor will take in 3 integers, hours, minutes, seconds. If the constructor receives invalid numbers, like 63 minutes or -1 hours, then it will set that value to ZERO. Note: The constructor should actually throw an error instead, but that topic is not covered until the end of the semester. The accepted ranges member variables: seconds: o -> 59 minutes: 0 -> 59 hours: O -> 23 Getters and Setters You should create a getter and setter method for each member variable. For this assignment we provide these. Note: The getter methods should be constant and their parameter should be a constant reference. toString This function will return a string describing what time the object represents. The format is hour:minute:second. Time time = Time (17, 59, 1); cout < time.tostring="" ()="">< endl;="" the="" above="" code="" should="" return:="" 17:59:01="" timetoseconds="" this="" is="" a="" private="" helper="" function="" and="" will="" make="" the="" +,="" -,="">< ,and=""> functions easier. This function should take no input and return and integer value of time in seconds. A time represented by 0:3:21 would result in 201 being returned. This function is provided in the template. int timeToSeconds () const; secondsToTime This is a Private helper function and will make the +, -, < ,and=""> functions easier. This function should take an integer as input and return a Time object. This function is provided in the template. const Time secondsToTime (int s) const; + and - operators The time class will support the addition and subtraction of two "Time" objects. The standard rollovers apply i.e. instead of having 63 seconds its 3 seconds into the next minute. If the resulting Time is past 23 hours then you roll hours to 0. const Time operator+ (const &Time other) const; const Time operator- (const &Time other) const; > and < operators="" the="" time="" class="" will="" support="" the="" greater="" than="" and="" less="" than="" operators.="" 0:0:0="" is="" the="" smallest="" time="" and="" 23:59:59="" is="" the="" greatest="" time.="" bool="">< (const="" &="" time="" other)="" const;="=" operator="" two="" time="" objects="" are="" equal="" when="" they="" have="" the="" same="" values="" for="" their="" member="" variables.="" bool="" operator="=" (const&="" time="" other)="" const;="" date="" this="" class="" will="" represent="" a="" calendar="" day.="" for="" simplicity,="" we="" are="" excluding="" leap="" years,="" and="" all="" months="" have="" 31="" days.="" thus,="" a="" year="" for="" this="" program="" has="" 372="" days="" (31="" days="" x="" 12).="" this="" class="" has="" these="" data="" members.="" •="" int="" month="" int="" day="" •="" int="" year="" you="" will="" write="" the="" date="" class="" to="" have="" these="" functions.="" default="" constructor="" the="" default="" constructor="" will="" initialize="" the="" date="" object="" to="" its="" minimum="" value:="" 1/1/0.="" constructor="" the="" date="" constructor="" will="" take="" 3="" integer="" parameters,="" day,="" month,="" year.="" if="" the="" constructor="" receives="" invalid="" parameters,="" such="" as="" 15="" for="" month,="" it="" will="" set="" that="" value="" to="" zero.="" the="" accepted="" ranges="" of="" the="" member="" variables:="" day:="" 1="" -=""> 31 month: 1 -> 12 year: O -> inf Getters and Setters You should create a getter and setter method for each member variable. For this assignment we provide these. Note: The getter methods should be constant and their parameter should be a constant reference. toString This function will return a string describing what date the object represents. The format is dd/mm/yyyy. Date date = Date (5, 2, 1999); cout < date.tostring="" ()="">< endl;="" the="" above="" code="" should="" print:="" 5/2/1999="" datetodays="" this="" is="" a="" private="" helper="" function="" and="" will="" make="" the="" +,="" -="">< and=""> functions easier. This function takes no input and returns the number of days from the minimum Date. So a date 3/1/1 would return 1119. This function is Not provided in the template. int dateToDays () const; daysToDate This is a Private helper function and will make the +, -, < ,and=""> functions easier. This function takes aan integer as input and returns a Date. This is the reverse calculation of dateToDays. This function is Not provided in the template. const Date daysToDate (int ndays) const; + and - overload (Date + int) Sometimes it doesn't make sense to add two of the same object together, but rather two different objects. Adding two Time objects together makes more sense than adding two date objects together. People don't use dates that way. Specifically, we think of elapsed dates as the number of days elapsed. So for this class, we are only going to add (or subtract) an integer to a Date, which represents the number of days ahead or behind the date. const Date operator+ (int other) const; const Date operator- (int other) const; Date date1 = Date (5, 2, 2021) ; datel = datel + 7; cout < datel.tostring="" ()="">< endl;="" the="" above="" code="" should="" print:="" 12/2/2021=""> and < overload="" the="" date="" class="" will="" support="" the="" greater="" than="" and="" less="" than="" operators.="" 1/1/0="" is="" the="" smallest="" date="" and="" 31/12/inf="" is="" the="" greatest="" date.="" bool="">< (const="" &="" date="" other)="" const;="" bool="" operator=""> (const & Date other) const; == overload Two date objects are equal when they have the same values for their member variables. bool operator== (consté Date other) const; Event This class has these data members. pgramming Assignment 5- Classes • Date date • Time time You will write the event class to have these functions. This class should have as members one Date and one Time object. Constructor The event constructor will take two strings, a date, and a time as input. The first is the description, the second is the location, third is date, fourth is time. hasPassed This function will return True if the event has passed. It will take a date and a time as input. Date today = Date (10, 20, 2021); Event event = Event ("Party", "Cari's House", today, Time (22, 0, 0)); cout < event.haspassed (today, time (22, 10, 0)) « endl; event.haspassed="" (today,="" time="" (22,="" 10,="" 0))="" «=""> event.haspassed (today, time (22, 10, 0)) « endl;>