
Задание выполнить на С++ Разработайте и протестируйте класс «Дата », содержащий в качестве данных
год, месяц и день. Определите стандартный конструктор, конструктор с параметрами, операцию сравнения двух дат и метод «Сообщить дату». Передачу параметра в метод сравнения организуйте по константной ссылке, а передачу результата по значению, используйте переопределение операции «! =»... Данные класса описать со спецификатором private.

Ответы на вопрос

Відповідь:
С++ code:
#include <iostream>
class Date{
private:
int day;
int month;
int year;
public:
Date();
Date(int,int,int);
Date(const Date&);
~Date() = default;
bool operator !=(const Date object){
return !((this->day == object.day)&& (this->month == object.month) && (this->year == object.year));
}
};
Date::Date(){
day = 1;
month = 1;
year = 2000;
}
Date::Date(int day,int month,int year){
this->day = day;
this->month = month;
this->year = year;
}
Date::Date(const Date& object){
this->day = object.day;
this->month = object.month;
this->year = object.year;
}
int main(){
Date d1(26,06,2022);
Date d2(12,05,2008);
bool result = d1 != d2;
std::cout << result << std::endl;
return 0;
}



Вот пример реализации класса "Дата" на C++ согласно вашим требованиям:
cpp#include <iostream>
class Date {
private:
int year;
int month;
int day;
public:
// Стандартный конструктор
Date() : year(0), month(0), day(0) {}
// Конструктор с параметрами
Date(int _year, int _month, int _day) : year(_year), month(_month), day(_day) {}
// Метод для вывода даты
void PrintDate() const {
std::cout << year << "-" << month << "-" << day << std::endl;
}
// Операция сравнения двух дат
bool operator!=(const Date& other) const {
return year != other.year || month != other.month || day != other.day;
}
};
int main() {
Date date1(2023, 9, 26);
Date date2(2023, 9, 27);
date1.PrintDate();
date2.PrintDate();
if (date1 != date2) {
std::cout << "Даты не совпадают." << std::endl;
} else {
std::cout << "Даты совпадают." << std::endl;
}
return 0;
}
Этот код создает класс "Дата" с приватными членами year, month и day. В классе определены конструкторы, метод PrintDate для вывода даты, и перегружена операция != для сравнения двух дат. В функции main() создаются два объекта Date и сравниваются с использованием перегруженной операции !=.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili