using System; using System.Collections.Generic; using System.Text; namespace Operaatorid { using System; class Kellaaeg { int tund, minut, sekund; public Kellaaeg(int utund, int uminut, int usekund) { tund = utund; minut = uminut; sekund = usekund; aegKorda(); } void aegKorda() { while (sekund > 60) { minut++; sekund -= 60; } while (minut > 60) { tund++; minut -= 60; } } public int Tund() { return tund; } public int Minut() { return minut; } public int Sekund() { return sekund; } public void tryki() { Console.WriteLine("{0}:{1}:{2}", tund, minut, sekund); } public static Kellaaeg operator +(Kellaaeg k1, Kellaaeg k2) { return new Kellaaeg(k1.Tund() + k2.Tund(), k1.Minut() + k2.Minut(), k1.Sekund()+k2.Sekund()); } public static implicit operator int(Kellaaeg k) { return k.Tund() * 3600 + k.Minut()*60+k.Sekund(); } public static explicit operator double(Kellaaeg k) { //kohustuslik muunduse näitamine return k.Tund() + k.Minut() / 60.0+k.Sekund()/3600; } public static explicit operator Kellaaeg(int sekundid) { return new Kellaaeg(0, 0, sekundid); } } }