m0_50986232 2021-06-18 07:33 采纳率: 84.6%
浏览 48
已采纳

C#控制台应用程序(运算符重载)

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-06-18 08:05
    关注

    帮助到你能点个采纳吗,谢谢~

    using System;
    namespace ConsoleApp1
    {
        class MyTime
        {
            public int Hour { get; set; }
            public int Minute { get; set; }
            public int Second { get; set; }
            public MyTime(int Hour, int Minute, int Second)
            {
                this.Hour = Hour;
                this.Minute = Minute;
                this.Second = Second;
            }
            public static bool operator ==(MyTime t1,MyTime t2)
            {
                return t1.Hour == t2.Hour && t1.Minute == t2.Minute && t1.Second == t2.Second;
            }
            public static bool operator !=(MyTime t1,MyTime t2)
            {
                return t1.Hour != t2.Hour || t1.Minute != t2.Minute || t1.Second != t2.Second;
            }
            public static MyTime operator +(MyTime t, int Second)
            {
                MyTime t1 = new MyTime(t.Hour, t.Minute, t.Second);
                t1.Second += Second;
                if (t1.Second > 59)
                {
                    t1.Second -= 60; 
                    t1.Minute += 1;
                    if (t1.Minute > 59)
                    {
                        t1.Minute -= 60;
                        t1.Hour += 1;
                        if (t1.Hour > 23) t1.Hour = 0;
                    }
    
                }
                return t1;
            }
            public static MyTime operator ++(MyTime t)
            {
                MyTime t1 = t + 1;
                return t1 ;
            }
            public void Show()
            {
                Console.WriteLine(Hour + ":" + Minute + ":" + Second);
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                MyTime t1 = new MyTime(12, 8, 50), t2, t3;
                t2 = new MyTime(12, 9, 0);
                if (t1 == t2) Console.WriteLine("时间相同");
                else Console.WriteLine("时间不同");
                t3 = t1 + 12;
                t3.Show();
                t3 = ++t2;
                t3.Show();
                t3 = t2++;
                t3.Show();
                Console.ReadKey();
            }
        }
    }

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部