using System; class Kellaaeg{ int tund, minut; public Kellaaeg(int utund, int uminut){ tund=utund; minut=uminut; aegKorda(); } void aegKorda(){ while(minut>60){ tund++; minut-=60; } } public int Tund(){return tund;} public int Minut(){return minut;} public void tryki(){ Console.WriteLine("{0}:{1}", tund, minut); } public static Kellaaeg operator+(Kellaaeg k1, Kellaaeg k2){ return new Kellaaeg(k1.Tund()+k2.Tund(), k2.Minut()+k2.Minut()); } public static implicit operator int(Kellaaeg k){ return k.Tund()*60+k.Minut(); } public static explicit operator double(Kellaaeg k){ //kohustuslik muunduse näitamine return k.Tund()+k.Minut()/60.0; } public static explicit operator Kellaaeg(int minutid){ return new Kellaaeg(minutid/60, minutid%60); } } class Test{ public static void Main(string[] arg){ Kellaaeg k1=new Kellaaeg(12, 10); Kellaaeg k2=new Kellaaeg( 1, 4); Kellaaeg k3=k1+k2; k3.tryki(); int minutidPaevaAlgusest=k1; double tunnidPaevaAlgusest=(double)k1; Console.WriteLine(minutidPaevaAlgusest); Console.WriteLine(tunnidPaevaAlgusest); Kellaaeg k4=(Kellaaeg)minutidPaevaAlgusest; k4.tryki(); } } /* C:\Projects\oma\naited>Operaatorid2 13:8 730 12,1666666666667 12:10 */