|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2013, 10:38 | #1 |
Регистрация: 12.12.2013
Сообщений: 4
|
Ребят выручайте есть перегруженная функция, нужно сделать из нее виртуальную функцию
Сам как не знаю сделать пожалуйста помогите)) Есть перегруженная функция, нужно сделать из нее виртуальную функцию. Даже не обязательно из этой программы, просто по заданию.
Задание. Дата в формате (день, месяц, год). ++увеличение даты на 1 сутки, -- уменьшение даты на 1 сутки, + сложение двух дат. Код C++ #include <iostream> #include <math.h> using namespace std; class date { public: int day,month,year; friend date operator ++(date d1); friend date operator --(date d2); friend date operator +(date d1,date d2); }; date operator ++(date d1) { if ((d1.month==1) || (d1.month==3) || (d1.month==5) || (d1.month==7) || (d1.month==8) || (d1.month==10)) { if (d1.day==31) { d1.day=1; d1.month=d1.month+1; } else {d1.day=d1.day+1;} } else if ((d1.month==4) || (d1.month==6) || (d1.month==9) || (d1.month==11)) { if (d1.day==30) { d1.day=1; d1.month=d1.month+1; } else {d1.day=d1.day+1;} } else if (d1.month==12) { if(d1.day==31) { d1.day=1; d1.month=1; d1.year=d1.year+1; } else {d1.day=d1.day+1;} } else if (d1.month==2) { if (d1.day==28) { d1.day=1; d1.month=d1.month+1; } else {d1.day=d1.day+1;} } else {cout <<"Data error!";} return d1; } date operator --(date d2) { if ((d2.month==2) || (d2.month==4) || (d2.month==6) || (d2.month==8) || (d2.month==9) || (d2.month==11)) { if (d2.day==1) { d2.day=31; d2.month=d2.month-1; } else {d2.day=d2.day-1;} } else if ((d2.month==5) || (d2.month==7) || (d2.month==10) || (d2.month==12)) { if (d2.day==1) { d2.day=30; d2.month=d2.month-1; } else {d2.day=d2.day-1;} } else if (d2.month==1) { if(d2.day==1) { d2.day=31; d2.month=12; d2.year=d2.year-1; } else {d2.day=d2.day-1;} } else if (d2.month==3) { if (d2.day==1) { d2.day=28; d2.month=d2.month-1; } else {d2.day=d2.day-1;} } else {cout <<"Data error!";} return d2; } date operator +(date d1,date d2) { date d; d.year=d1.year+d2.year; d.month=d1.month+d2.month; d.day=d1.day+d2.day; if (d.month>12){d.month=d.month-12;d.year=d.year+1;} if (d.day>31){d.day=d.day-31;d.month=d.month+1;} if (d.month>12){d.month=d.month-12;d.year=d.year+1;} return d; } int main() { date d1,d2,d3; cout <<"Enter first date:"<<endl; cout <<"Day:"; cin >>d1.day; cout <<"Month:"; cin >>d1.month; cout <<"Year:"; cin >>d1.year; cout <<endl<<"Enter second date:"<<endl; cout <<"Day:"; cin >>d2.day; cout <<"Month:"; cin >>d2.month; cout <<"Year:"; cin >>d2.year; cout <<endl; d3=d1+d2; d1=++d1; d2=--d2; cout <<"First date increased by the day:"<<d1.day<<"."<<d1.month<<"."<< d1.year<<endl; cout <<"Second date less the day:"<<d2.day<<"."<<d2.month<<"."<< d2.year<<endl; cout <<"Add two date:"<<d3.day<<"."<<d3.month<<"."< <d3.year<<endl; system ("PAUSE"); return 0; } |
13.12.2013, 06:49 | #2 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
Код:
Последний раз редактировалось nikmoon; 13.12.2013 в 06:52. |
13.12.2013, 09:29 | #3 | |
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
Цитата:
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
|
13.12.2013, 09:58 | #4 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
Да как Вам сказать, я вот операторы вообще не применяю, хоть виртуальные, хоть невиртуальные, но кто-то же применяет?
Наверное и с такой конструкцией так же. P.S. Вполне можно применять точно так же, как обычные виртуальные методы. Последний раз редактировалось nikmoon; 13.12.2013 в 10:10. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ребят выручайте есть перегруженная функция, нужно сделать из нее виртуальную функцию | Выручайте23 | Помощь студентам | 0 | 12.12.2013 10:36 |
Выручите ребят нужно сделать Подобие часов... | ergans@mail.ru | Помощь студентам | 2 | 13.03.2013 12:41 |
Выручайте ребят! Очень нужно( | Nikita3000 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 28.01.2013 21:13 |
Перегруженная дружественная функция | Стремящийся | Общие вопросы C/C++ | 8 | 07.05.2012 09:08 |
Ребят выручайте! | murlay | Фриланс | 27 | 15.10.2009 20:44 |