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

К числу прибавить объект класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ массив чисел http://www.cyberforum.ru/cpp-beginners/thread430025.html
Даны натуральные числа i,N, массив чисел A(N) (i < N ). Найти среднее арифметческое всех чисел массива, ...
C++ Алгоритм запоминания языка при изучении... Программисты, подскажите свои методы запоминания столь многочисленных функций языков программирования... Только не надо писать что единственный способ - много писать. При этом способе запоминаются... http://www.cyberforum.ru/cpp-beginners/thread429967.html
C++ Игра "Морской бой"
задание такое Запрограммировать игру двух игроков в “Морской бой”. Сначала, по-сле запуска программы, игроки совместно вводят размер прямоуголь-ных клеточных полей для игры (NxM) и типы и количество...
C++ Передача данных
Можно ли из одной программы в другую передать число или символ?? Если можно то как?:good:
C++ Семафоры http://www.cyberforum.ru/cpp-beginners/thread429921.html
Много читал в гугле,но все ни как не пойму,перед чем непосредственно создается семафор..где стоит его ждать и выгружать..Объясните пожалуйста
C++ С++ матрицы Здравствуйте. У меня сейчас идет экзамен,я прошу помочь написать мне код программы, сейчас возможности заплатить нету, кто поможет с кодом, тот получит вознаграждение! Я серьезно! у меня сейчас... подробнее

Показать сообщение отдельно
BenBen
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 15
19.01.2012, 20:38  [ТС]
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
//---------------------------------------------------------------------------
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#include <vcl.h>
#include <stdlib.h>
#include "Time.h"
#pragma hdrstop
//---------------------------------------------------------------------------
Vremya::Vremya()
{
        sec = 0;
        min = 0;
        hour = 0;
}
//---------------------------------------------------------------------------
Vremya::Vremya(int h, int m, int s)
{
        sec = s;
        min = m;
        hour = h;
}
//---------------------------------------------------------------------------
Vremya::Vremya(const Vremya &t)
{
        hour = t.hour;
        min = t.min;
        sec = t.sec;
}
//---------------------------------------------------------------------------
int getSec(const Vremya &t)
{
        int sec = t.sec + t.min*60 + t.hour*3600;
        return sec;
}
//---------------------------------------------------------------------------
Vremya getHour(int a)
{
        Vremya t;
        t.hour = a/3600;
        t.min = (a - t.hour*3600)/60;
        t.sec = a - t.hour*3600 - t.min*60;
        return t;
}
//---------------------------------------------------------------------------
void Vremya::Show()
{
        cout<<hour<<":"<<min<<":"<<sec;
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator ++ ()
{
        int sec = getSec(*this);
        sec++;
        *this = getHour(sec);
        return *this;
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator -- ()
{
        int sec = getSec(*this);
        sec--;
        *this = getHour(sec);
        return *this;
}
//---------------------------------------------------------------------------
Vremya Vremya::operator ++ (int)
{
        Vremya a = *this;
        int sec = getSec(*this);
        sec++;
        *this = getHour(sec);
        return a;
}
//---------------------------------------------------------------------------
Vremya Vremya::operator -- (int)
{
        Vremya a = *this;
        int sec = getSec(*this);
        sec--;
        *this = getHour(sec);
        return a;
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator + (int a)
{
        int sec = getSec(*this);
        sec += a;
        return *this = getHour(sec);
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator - (int a)
{
        int sec = getSec(*this);
        sec -= a;
        return *this = getHour(sec);
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator += (int a)
{
        int sec = getSec(*this);
        sec += a;
        return *this = getHour(sec);
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator -= (int a)
{
        int sec = getSec(*this);
        sec -= a;
        return *this = getHour(sec);
}
//---------------------------------------------------------------------------
Vremya operator + (int a, const Vremya &t)
{
        int sec = getSec(t);
        sec += a;
        return getHour(sec);
}
//---------------------------------------------------------------------------
Vremya &Vremya::operator = (const Vremya &t)
{
        sec = t.sec;
        min = t.min;
        hour = t.hour;
        return *this;
}
 
 
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
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
//---------------------------------------------------------------------------
 
#ifndef VremyaH
#define VremyaH
 
 
class Vremya
{
        private:
    int sec, min, hour;
 
        public:
    Vremya();
    Vremya(int s, int m, int h);
        Vremya(const Vremya &t);
 
    void Show();
 
    friend int getSec(const Vremya &t);
        friend Vremya getHour(int a);
 
    Vremya &operator ++ ();
    Vremya &operator -- ();
 
    Vremya operator ++ (int);
    Vremya operator -- (int);
 
    Vremya &operator += (int a);
    Vremya &operator -= (int a);
 
    Vremya &operator + (int a);
    Vremya &operator - (int a);
 
        Vremya &operator = (const Vremya &t);
 
    friend Vremya operator + (int a, const Vremya &t);
    friend Vremya operator - (int a, const Vremya &t);
 
 
};
//---------------------------------------------------------------------------
#endif

C++
1
2
3
4
5
6
7
В мейне
Vremya t1(12,0,0);
Vremya t2;
t1+= 10; //работает
t1 = t2; //работает
t1 + 10; //работает
10 + t1; //не работает
Добавлено через 2 минуты
Так то он работает (надеюсь правильно) но вот с перегрузкой этой застрял.
И сижу туплю не могу понять как без френдов написать
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru