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

перегрузка операторов С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решить выражение http://www.cyberforum.ru/cpp-beginners/thread421527.html
Народ, помогите плиззз))) Можете написать код для программы, считающей выражение y=lg(8x^2-6x). СПАСИБО! С НОВЫМ ГОДОМ!=)
C++ Найти угол, на основе координат мыши Здравствуйте, пробую себя в написании простенькой игрушки, пока-что ничего не получается =( Возникла вот такая проблема: есть изображение являющее собой "пушку" у танка, нужно естественной этой... http://www.cyberforum.ru/cpp-beginners/thread421525.html
C++ Возвращение ссылки или указателя на закрытый элемент класса.
Всех уважаемых форуман. поздравляю с наступившим новым годом и прошу ответить на такой вопрос. Почему до сих пор современный C++ не избавился от такой зияющей бреши, как воззвращение открытой...
Массивы C++
Всем доброго дня. Кто-нибудь может сделать краткий курс по массивам? язык С.
C++ Очередь и класс http://www.cyberforum.ru/cpp-beginners/thread421505.html
Всем привет! Нужна консультация в таком вопросе. Есть класс: class myclass { char* author; char* title; public: myclass(){author=new char(sizeof(author));title=new char(sizeof(title));}...
C++ Сведения о рейсах Аэрофлота задание по базе данных Excel VBA, "Сведения о рейсах Аэрофлота".По заданной таблице необходимо изменить время вылета и время прибытия у заданного рейса.А как в коде сделать ссылку на этот заданный... подробнее

Показать сообщение отдельно
StellaRed
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 5

перегрузка операторов С++ - C++

02.01.2012, 17:30. Просмотров 1272. Ответов 4
Метки (Все метки)

есть программа:

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Time
{
private:
int s, min, h;
public:
Time(int hour, int minute, int sec)
{
while(hour>23 || hour<1) {cout<<"Error. Only 24 hours"<<endl; cin>>hour;}
while(minute>59 || sec<1) {cout<<"Error. Only 60 minutes"<<endl; cin>>minute;}
while(sec>59 || sec<1){cout<<"Error. Only 60 seconds"<<endl; cin>>sec;}
s=sec; min=minute; h=hour;
}
 
Time(){h=0; min=0; s=0; }
 
 
void NextHour()
{
 
if(h==23) h=0;
else h+=1;
 
 
}
void PrewHour()
{
 
if(h==0) h=23;
else h-=1;
 
}
 
 
 
void HourPlus(int hour)
{
int c=0;
while (c<hour)
{
NextHour();
++c;
}
}
//--------Операторы сравнения дат---------------------------------
//----------------------------------------------------------------
bool operator==(Time& r)
{
if(s==r.s && min==r.min && h==r.h) return true;
else return false;
}
 
bool operator<= (Time& r)
{
bool prow=false;
if(s==r.s && min==r.min && h==r.h) return prow=true;
if(h<r.h) return prow=true;
if (h==r.h && min<r.min) return prow=true;
if (h==r.h && min==r.min && s<r.s) return prow=true;
return prow;
}
 
bool operator>= (Time& r)
{
bool prow=false;
if(s==r.s && min==r.min && h==r.h) return prow=true;
if(h>r.h) return prow=true;
if (h==r.h && min>r.min) return prow=true;
if (h==r.h && min==r.min && s>r.s) return prow=true;
return prow;
}
 
bool operator< (Time& r)
{
bool prow=false;
if(h<r.h) return prow=true;
if (h==r.h && min<r.min) return prow=true;
if (h==r.h && min==r.min && s<r.s) return prow=true;
return prow;
}
 
bool operator> (Time& r)
{
bool prow=false;
if(h>r.h) return prow=true;
if (h==r.h && min>r.min) return prow=true;
if (h==r.h && min==r.min && s>r.s) return prow=true;
return prow;
}
//-----------------------------------------------------------------
 
 
void HourMinus(int hour)
{
int c=0;
while (c<hour)
{
PrewHour();
++c;
}
}
 
void Print()
{
cout<<h<<":"<<min<<":"<<s<<endl;
}
};
 
 
 
 
int main()
{
Time A(4,15,30), B(5,45,35);
A.Print();
cout<<"\n";
B.Print();
cout<<"\n";
A.HourPlus(2);
A.Print();
B.HourMinus(4);
B.Print();
if(A<B) cout<<"A<B"<<endl;
 
if(A>B) cout<<"A>B"<<endl;
 
if(A==B) cout<<"A=B"<<endl;
cout<<"\n";
 
return 0;
}
Необходимо:перегрузить операторы +,! для выполнения операций: +(выбор более раннего момента времени) !(Прибавление часа).
ПОМОГИТЕ ПОЖАЛУЙСТА СОВСЕМ НЕ МОГУ СДЕЛАТЬ.Когда то это проходила ,но ничего не помню(((
 Комментарий модератора 
Код выделяем тегами!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru