Добавил:
TaskeFox
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream>
#include "math.h"
#include <string>
using namespace std;
class Triad //Класс Triad
{
protected:
int a, b, c; //поля класу
public:
Triad(int a, int b, int c)//конструктор класу
{
this->a = a;
this->b = b;
this->c = c;
}
void ChangeA(int a)//зміна першого ел тріади
{
this->a += a;
}
void ChangeB(int b)//зміна другого ел тріади
{
this->b += b;
}
void ChangeC(int c)//зміна третього ел тріади
{
this->c += c;
}
void Show()//Перегляд тріад
{
cout << a << ":" << b << ":" << c << endl;
}
};
class Time : public Triad //Класс Time який наслідується від класу Triad
{
public:
Time(int Hours, int Minutes, int Seconds) : Triad(Hours, Minutes, Seconds) //конструктор який посилається на базовий
{
}
void AddSecond(int second) //змінити секунди
{
int s = (second + c) % 60;
int m = (second + c) / 60;
int h = (m + b) / 60;
m = m % 60;
a = h;
b = m;
c += s;
}
void AddMinute(int minute)//змінити хвилини
{
int m = (b + minute) % 60;
int h = (b + minute) / 60;
a = h;
b = m;
}
private:
};
int main()
{
int ch = 0;
cout << "Triad" << endl;
Triad Tr(0, 1, 10); //створення обєкту для Triad
Tr.Show();
Tr.ChangeA(-1 * 4);
Tr.ChangeB(2);
Tr.Show();
cout << endl;
cout << "Time" << endl;
Time Tm(0, 0, 0); //створення обєкту для Time
Tm.Show();
Tm.AddSecond(3678);
Tm.Show();
system("pause");
return 0;
}