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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Luxian
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 4
#1

Перезагрузка операторов Помогите - C++

26.09.2009, 17:40. Просмотров 1352. Ответов 1
Метки нет (Все метки)

Добрый день...у меня к вам просьба Помогите пожалуйста написать полностью программу с условием:
5. Объявите новый тип данных время. Перезагрузите следующие операторы:
• + с параметром;
• ++;
• * с параметром;
• > 2-х объектов

Заранее Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2009, 17:40     Перезагрузка операторов Помогите
Посмотрите здесь:

перезагрузка операторов - C++
скажите разницу между base operator +(base &o) base &operator +(base &o) и как перезагрузить префиксную форму ++р?

Перезагрузка операторов! - C++
Добрый вечер, умные люди, помогите пожалуйста сделать программу нужно реализовать класс абстрактного типа данных АДТ − стек....

Глобальная перезагрузка операторов - C++
Есть код: template< class Value > class MyClass { Value value_; }; template< class V >

Квадрат - перезагрузка операторов - C++
Написал по заданию программу и выдает 1 ошибку, разъясните как ее исправить. Пишу в VS 2008 professional. Покажите пожалуйста как правильно...

Перезагрузка операторов "неоднозначный operator" - C++
Не знаю в ту ли группу пишу, но все же.... Для моего класса есть несколько операторов присвоения const MyStr& operator +=(const MyStr&...

перезагрузка >> - C++
Учусь по книге Дейтела. Дошел до перезагрузки >> и <<. И мне интересно зачем в этом примере ignore(); Может кто-то объяснить зачем он в...

Перезагрузка функций - C++
1 С помощью механизма перегрузки функций реализовать функции для нахождения суммы: 1) 2-х чисел; 2) 2-х строк; 3) строки и числа; ...

Перезагрузка операций - C++
Всем привет, есть такая задача. Создать класс - дата с полями в закрытой части: день (1-31), месяц (1-12), год (целое число). Определить...

перезагрузка функций - C++
С помощью механизма перегрузки функций организовать сложение: 1) числа с самим собой (один параметр); 2) двух чисел (два параметра); ...

Перезагрузка операций - C++
Всем привет, проблема в следующем... Нужно решить задачку с книги, перезагрузить оператор '+' так что бы в операции s1= s2+s3; не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
27.09.2009, 04:15     Перезагрузка операторов Помогите #2
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
//Добрый день...у меня к вам просьба Помогите пожалуйста написать полностью программу с условием:
//5.    Объявите новый тип данных время. Перезагрузите следующие операторы:
//• + с параметром;
//• ++;
//• * с параметром;
//• > 2-х объектов
 
#include <iostream>
 
class time
{
public:
    time(short hour, short min, short sec): itsHour(hour), itsMin(min), itsSec(sec) {}
    ~time() {}
 
    void ShowTime() const
    { std::cout << itsHour << ":" << itsMin << ":" << itsSec << "\n"; }
 
    time operator+(time& one)
    { return time(itsHour + one.itsHour, itsMin + one.itsMin, itsSec + one.itsSec); }
    const time operator++()
    { return time(++itsHour, itsMin, itsSec); }
    time operator*(time& one)
    { /* Без понятия, как можно умножить время... */ }
    bool operator>(time& one)
    {
        if(itsHour > one.itsHour)
            return true;
        else if(itsMin > one.itsMin)
            return true;
        else if(itsSec > one.itsSec)
            return true;
 
        return false;
    }
private:
    short itsSec;
    short itsMin;
    short itsHour;
    short GetSec() const
    { return itsSec; }
    short GetMin() const
    { return itsMin; }
    short GetHour() const
    { return itsHour; }
};
 
int main()
{
    short hour, min, sec;
 
    std::cout << "Set Time.\nTime One (hour min sec): ";
    std::cin  >> hour >> min >> sec;
    time myTimeOne(hour, min, sec);
 
    std::cout << "Set Time.\nTime Two (hour min sec): ";
    std::cin  >> hour >> min >> sec;
    time myTimeTwo(hour, min, sec);
 
    system("cls"); // Очищаем окно консоли. Если Linux, то вместо cls пропиши clear
 
    myTimeOne.ShowTime();
    myTimeTwo.ShowTime();
 
    if(myTimeOne > myTimeTwo)
        std::cout << "myTimeOne < myTimeTwo\n";
    else
        std::cout << "myTimeOne > myTimeTwo\n";
 
    ++myTimeOne;
    ++myTimeTwo;
 
    myTimeOne.ShowTime();
    myTimeTwo.ShowTime();
 
    return 0;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru