Перегрузка оператора сложения - C# (199545)
Формулировка задачи:
помогите пожалуйста создать перегрузку для + так чтоб секунды увеличивались на 1
класс програм
класс тайм
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите время");
Console.WriteLine("Часы:");
int Hours = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Минуты:");
int Minutes = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Секунды:");
int Seconds = Convert.ToInt32(Console.ReadLine());
var tim = new Time(Hours, Minutes, Seconds);
Console.ReadKey();
}
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication13
{
class Time
{
public Time(int Hours, int Minutes, int Seconds)
{
if (Hours > 23 || Hours < 0)
{
Console.WriteLine("Неверный формат времени(часов)");
}
if (Minutes > 59 || Minutes < 0)
{
Console.WriteLine("Неверный формат времени(минут)");
}
if (Seconds > 59 || Minutes < 0)
{
Console.WriteLine("Неверный формат времени(секунд)");
}
else
Console.WriteLine("{0}:{1}:{2}", Hours, Minutes, Seconds);
}
public static Time operator +()
{
}
}
}Решение задачи: «Перегрузка оператора сложения»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GROM32RUS
{
class Program
{
static void Main(string[] args)
{
MyTime t1 = new MyTime(02, 02, 35);
Console.WriteLine(t1);
t1.EnSeconds(40);
//t1++;
Console.WriteLine(t1);
Console.Read();
}
}
class MyTime
{
public MyTime(int H, int M, int S)
{
Hours = H;
Minutes = M;
Seconds = S;
}
public int Seconds
{
get;
private set;
}
public int Minutes
{
get;
private set;
}
public int Hours
{
get;
private set;
}
public static MyTime operator++(MyTime obj)
{
return new MyTime(obj.Hours, obj.Minutes, obj.Seconds + 1);
}
public void EnSeconds(int s)
{
Seconds += s;
if (Seconds >= 60)
{
Seconds = Math.Abs(Seconds-60);
Minutes++;
if (Minutes >= 60)
{
Hours++;
Minutes = 0;
Seconds = Math.Abs(Seconds - 60);
if (Hours >= 24)
{
Hours = 0;
Minutes = 0;
Seconds = Math.Abs(Seconds - 60);
}
}
}
}
public override string ToString()
{
return string.Format("{0:d2}:{1:d2}:{2:d2}", Hours, Minutes, Seconds);
}
}
}