>> friend bool operator<(Date& date1, Date& date2); the function is supposed to compare 2 date objects of the Date class ............................... It is supposed to overload the < operator to compare 2 Date objects. The comparison shall return true only if the Date object on the l
C++ program
Hi i need help making the following function,
------>>>>>> friend bool operator<(Date& date1, Date& date2);
the function is supposed to compare 2 date objects of the Date class ...............................
It is supposed to overload the < operator to compare 2 Date objects. The comparison shall return true only if the Date object on the left represents a date earlier than the Date object on the right. The comparison shall not update
either Date object.
please help I provided all my code below:
The following are the 3 libraries of my program
---------------------------------------------------------------------------------------------------------------------------------------------------------
DATE.H file:
#ifndef DATE_H
#define DATE_H
#include <string>
using namespace std;
class Date {
private:
string entered_date;
int month_, day_, year_;
public:
Date();
Date(const string& entered_date);
friend bool operator<(Date& date1, Date& date2);
friend istream& operator >>(istream& input, Date& d);
friend ostream& operator<<(ostream& output, Date& d);
};
#endif
---------------------------------------------------------------------------------------------------------------------------------------------
DATE.CPP file:
#include <stdlib.h>
#include <string>
#include "Date.h"
using namespace std;
Date::Date(){
entered_date = "04/08/2000";
}
istream& operator>>(istream& input, Date& d) {
cout << "Please enter a date in 03/24/1990 format:" << endl;
input >> d.entered_date;
return input;
}
Date::Date(const string& entered_date) {
month_ = stoi(entered_date.substr(0, 2));
day_ = stoi(entered_date.substr(3, 2));
year_= stoi(entered_date.substr(6));
cout << month_ << endl << day_ << endl << year_;
}
ostream& operator<<(ostream& output, Date& d) {
d.month_ = stoi(d.entered_date.substr(0, 2));
d.day_ = stoi(d.entered_date.substr(3, 2));
d.year_ = stoi(d.entered_date.substr(6));
//output << d.month_<< endl;
if((d.month_ == 1 || d.month_ == 01)) {
output<<"January"<<" "<< d.day_<<" "<<d.year_;
}
else if((d.month_ == 2 || d.month_ == 02)) {
output<<"February"<<" "<<d.day_<<" "<<d.year_;
}
else if((d.month_== 3 || d.month_ == 03)) {
output<<"March"<<" "<<d.day_<<" "<<d.year_;
}
else if((d.month_ == 4 || d.month_ == 04)) {
output<<"April"<<" "<<d.day_<<" "<<d.year_;
}
else if((d.month_ == 5 || d.month_ == 05)) {
output<<"May"<<" "<<d.day_<<" "<<d.year_;
}
else if((d.month_ == 6 || d.month_ == 06)) {
output<<"June"<<" "<<d.day_<<" "<<d.year_;
}
else if((d.month_ == 7 || d.month_ == 07)) {
output<<"July"<<" "<<d.day_<<" "<<d.year_;
}
else if(d.month_ == 8) {
output<<"August"<<" "<<d.day_<<" "<<d.year_;
}
else if (d.month_ == 9) {
output<<"September"<<" "<<d.day_<<" "<<d.year_;
}
else if (d.month_ == 10) {
output<<"October"<<" "<<d.day_<<" "<<d.year_;
}
else if (d.month_ == 11) {
output<<"November"<<" "<<d.day_<<" "<<d.year_;
}
else if (d.month_ == 12) {
output<<"December"<<" "<<d.day_<<" "<<d.year_;
}
else {
output << "invalid date entered";
}
return output;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
MAIN.CPP file:
#include <iostream>
#include <string>
#include <cstring>
#include <stdlib.h>
#include "Date.h"
using namespace std;
int main() {
Date date;
for (int i= 0; i < 3; i++) {
cin >> date;
cout << date << endl;
}
return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images