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

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

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-06-18 16: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条)

报告相同问题?

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”