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(), k1.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); } public int Compare(Kellaaeg k){ //Võrdlusoperaatorite puhul soovitav defineerida int omaminutid=(int)this; int teiseminutid=(int)k; return omaminutid-teiseminutid; } public override bool Equals(Object ob){ if (ob is Kellaaeg && (this.Compare(ob as Kellaaeg)==0)){ return true; } return false; } public override int GetHashCode(){ return (int)this; } public static bool operator==(Kellaaeg k1, Kellaaeg k2){ return k1.Equals(k2); } public static bool operator!=(Kellaaeg k1, Kellaaeg k2){ return !k1.Equals(k2); } public static bool operator<(Kellaaeg k1, Kellaaeg k2){ return k1.Compare(k2)<0; } public static bool operator>(Kellaaeg k1, Kellaaeg k2){ return k1.Compare(k2)>0; } } class Test{ public static void Main(string[] arg){ Kellaaeg k1=new Kellaaeg(12, 10); Kellaaeg k2=new Kellaaeg( 1, 4); Kellaaeg k3=new Kellaaeg( 1, 4); if(k2==k3){ Console.WriteLine("Samad"); } if(k2Operaatorid3 Samad Enne */