using System;
using [Link];
using [Link];
using [Link];
namespace timeOperatorOverloading
{
class Time
{
double hour;
double minute;
double sec;
public Time (double h, double m, double s)
{
[Link] = h;
[Link] = m;
[Link] = s;
}
public static Time operator +(Time t1, Time t2)
{
double h = [Link] + [Link];
double m = [Link] + [Link];
double s = [Link] + [Link];
if (s >= 60)
{
double a = s % 60;
int b = (int)s / 60;
s = a;
m = m + b;
if (m >= 60)
{
double a = m % 60;
int b = (int)m / 60;
m = a;
h = h + b;
}
Time box = new Time (h, m, s);
return box;
}
public static Time operator -(Time t1, Time t2)
{
double h = [Link] - [Link];
if (h < 0)
{
h = h * -1;
}
double m = [Link] - [Link];
if (m < 0)
{
m = m * -1;
}
double s = [Link] - [Link];
if (s < 0)
{
s = s * -1;
}
Time box = new Time(h, m, s);
return box;
}
public static Time operator *(Time t1, Time t2)
{
double h = [Link] * [Link];
double m = [Link] * [Link];
double s = [Link] * [Link];
if (s >= 60)
{
double a = s % 60;
int b = (int)s / 60;
s = a;
m = m + b;
}
if (m >= 60)
{
double a = m % 60;
int b = (int)m / 60;
m = a;
h = h + b;
}
Time box = new Time(h, m, s);
return box;
}
public static Time operator /(Time t1, Time t2)
{
double h = [Link] / [Link];
double m = [Link] / [Link];
double s = [Link] / [Link];
if (s >= 60)
{
double a = s % 60;
int b = (int)s / 60;
s = a;
m = m + b;
if (m >= 60)
{
double a = m % 60;
int b = (int)m / 60;
m = a;
h = h + b;
}
Time box = new Time(h, m, s);
return box;
}
public void display()
{
[Link]("{0} {1} {2}", [Link] + " hours", [Link] + " minutes", [Link]
+ " seconds");
}
class Program
{
static void Main(string[] args)
{
Time t1 = new Time(12, 40, 40);
Time t2 = new Time(6, 20, 10);
Time netTime1 = t1 + t2;
[Link]("Sum is: ");
[Link]();
[Link]("");
Time netTime2 = t1 - t2;
[Link]("Difference is: ");
[Link]();
[Link]("");
Time netTime3 = t1 * t2;
[Link]("Product is: ");
[Link]();
[Link]("");
Time netTime4 = t1 / t2;
[Link]("t1/t2: ");
[Link]();
[Link]("");
}
}
}