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

Создание объекта класса, являющегося суммой 2ух других - C++

Восстановить пароль Регистрация
 
Cooler13
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 5
11.11.2012, 20:47     Создание объекта класса, являющегося суммой 2ух других #1
Нужно получить время на часах, сложив 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
#include <iostream>
using namespace std;
class Clock
{
public:
    int hour;
    int minut;
    int second;
public:
    Clock(int xh, int xm, int xs)
    {
        hour = xh;
        minut = xm;
        second = xs;
        condition1 ();
    }
    Clock ()
    {
        hour = 0;
        minut = 0;
        second = 0;
    }
    Clock operator +(const Clok& h)
    { }
    void condition1 ()
    {
        while (second > 59)
        {
            second = (second - 60);
            minut ++;
        };
        while (minut > 59)
        {
            minut = (minut - 60);
            hour ++;
        };
        while (hour > 23)
        {
            hour = (hour - 24);
        };
    }
    void print_time ()
    {
        cout <<"The time is " <<hour <<":" <<minut <<":" <<second <<endl <<endl;
    }
};
int main()
{
    int xh, xm, xs, a;
    cout << "Set time 1:" << endl;
    cout << "Hour(s) - "; cin >> xh; cout <<endl;
    cout << "Minut(s) - "; cin >> xm; cout <<endl;
    cout << "Second(s) - "; cin >> xs; cout <<endl;
    Clock cl1 (xh, xm, xs);
        Clock cl4 (xh, xm, xs);
        Clock clla = cl1 - cl4;
    clla.print_time();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 20:47     Создание объекта класса, являющегося суммой 2ух других
Посмотрите здесь:

Динамическое создание объекта класса C++
C++ создание объекта произвольного класса по указателю на базовый класс
C++ Создание объекта класса
C++ Реализовать создание объекта класса с нужными параметрами
Создание объекта класса из потока C++
C++ Создание объекта класса
C++ Объявление класса, создание объекта и вызов функции-члена
Как обратится к обьекту класса, являющегося наследником абстрактного класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.11.2012, 21:26     Создание объекта класса, являющегося суммой 2ух других #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
#include <iostream>
 
class Timestamp {
 private:
  unsigned long int timestamp;
 public:
  Timestamp() : timestamp(0) {}
  Timestamp(unsigned long int timestamp) : timestamp(timestamp) {}
  Timestamp(int hours, int minutes, int seconds)
    : timestamp(hours * 3600 + minutes * 60 + seconds) {}
  int getSeconds() const { return timestamp % 60; }
  int getMinutes() const { return timestamp % 3600 / 60; }
  int getHours() const { return timestamp / 3600; }
  unsigned long int getTimestamp() const { return timestamp; }
};
 
Timestamp operator+(const Timestamp &a, const Timestamp &b) {
  return a.getTimestamp() + b.getTimestamp();
}
 
std::ostream &operator<<(std::ostream &stream, const Timestamp &timestamp) {
  return stream << timestamp.getHours() << ":" << timestamp.getMinutes() << 
    ":" << timestamp.getSeconds();
}
 
int main(int argc, char **argv) {
  Timestamp a(1, 10, 15), b(0, 59, 48);
  std::cout << a << " + " << b << " = " << (a + b) << std::endl;
  std::cin >> argc;
  return 0;
}
Yandex
Объявления
11.11.2012, 21:26     Создание объекта класса, являющегося суммой 2ух других
Ответ Создать тему
Опции темы

Текущее время: 15:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru