Форум программистов, компьютерный форум CyberForum.ru

Перегруженную функцию переделать в виртуальную - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы. Заменить все максимальные элементы нулями( http://www.cyberforum.ru/cpp-beginners/thread1038351.html
Всем доброго времени суток. заменить все максимальные элементы нулями(одномерный массив)
C++ Спртсмен пробегает в каждый из семи дней на 10% больше. Сколько в итоге пробежит? Начав тренировку спортсмен пробежал в первый день 10 км, и каждый день он увеличивал на 10% норму предыдущего дня. Какой путь спортсмен пробежит за 7 дней??? http://www.cyberforum.ru/cpp-beginners/thread1038334.html
C++ Не удаётся открыть фай включение iostream.h
# include <stdafx.h> # include <iostream.h> # include <string.h> using namespace std; const int MAX_SIZE = 20; // Level 1 Functions void print_message();
Определить, на какой позиции слева находится первая встреченная четная цифра C++
Как сделать? Определить, на какой позиции слева находится первая встреченная четная цифра.
C++ как считать текст из файла в С++? http://www.cyberforum.ru/cpp-beginners/thread1038307.html
Подскажите пожалуйста, как считать текст из файла в массив типа char в С++? Заранее спасибо!
C++ Как считать текст из файла в С++? Подскажите пожалуйста, как считать текст из файла в массив типа char в С++? Заранее спасибо! подробнее

Показать сообщение отдельно
выручайте 23
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 30
12.12.2013, 10:21     Перегруженную функцию переделать в виртуальную
Сам как не знаю сделать пожалуйста помогите)) Есть перегруженная функция, нужно сделать из нее виртуальную функцию. Даже не обязательно из этой программы, просто по заданию.
Задание. Дата в формате (день, месяц, год). ++увеличение даты на 1 сутки, -- уменьшение даты на 1 сутки, + сложение двух дат.
Код C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru