Я попытался создать свой собственный класс, который содержит три переменные: день, месяц и год. И я добавляю двух операторов для сравнения. вот мой файл заголовка и CPP файл:Не могу создать свой собственный класс даты
Заголовок:
#ifndef DATE_H
#define DATE_H
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <array>
using namespace std;
class Date {
public:
int day;
int month;
int year;
Date(int m, int d, int y);
bool operator< (const Date &) const;
bool operator== (const Date &) const;
}
#endif
CPP:
#include "stdafx.h"
#include "date.h"
Date::Date(int m, int d, int y)
:day(d),month(m),year(y){}
bool Date::operator< (const Date & d2) const
{
bool result;
if(year<d2.year){
result=true;
}
else if (year==d2.year&&month<d2.month){
result=true;
}
else if (month==d2.month&&day<d2.day){
result = true;
}
else{
result = false;
}
return result;
}
bool Date::operator== (const Date & d2) const
{
return (year==d2.year)&&(month==d2.month)&&(day==d2.day);
}
Ошибка
ошибка C2533: «Date :: {} т е р ': конструкторы не допускают тип возврата
Благодарим за помощь!
Отсутствует точка с запятой в конце объявления класса. – David
Зачем вам нужны какие-либо из этих файлов в заголовке? Вы не используете ни одного из них в заголовке! –
Ваш файл cpp также не использует дополнительные файлы include. Я настоятельно рекомендую избавиться от * stdafx.h *, так как это вызывает больше проблем с небольшими файлами, чем разрешает. –