C# 构造函数的重载

   刚看了一段代码。是关于构造函数的重载!其实以前学校C ++ 的时候已经学过。但是现在再看C#的时候,虽然是一样的,但是还是有很多没明白。比如下面的一个问题还是经过调试后,才发现的。虽然问题不大,不过如果用手写的话,就会造成严重的错误!!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TimeTest
{
    class Time2
    {
        private int hour;
        private int minute;
        private int second;

        public Time2()
        {
            setTime(0, 0 , 0);
        }


     //   public Time2(int hour) 
     //   {
     //       setTime (hour,0,0);
     //   }

                // 错误 1 类型“TimeTest.Time2”已定

                //义了一个 为“Time2”的具有相同参数类型的成员

                // G:/CNET/test/TimeTest/TimeTest/Program.cs 24 16 TimeTest

        public Time2(int minute)
        {
            setTime(0, minute, 0);
        }

        public void setTime(int h,int m,int s)
        {
            hour = (h >=0 && h<=24)? h:0;
            minute = (m >=0 && m < 60) ? m:0;
            second = (s >=0 && s <60) ? s:0;
        }

        public string ToUniversal()
        {
            return String.Format ("{0:D2}:{1:D2}:{2:D2}",hour,minute,second);
        }
       
        public string ToStandard()
        {
            return string.Format("{0}:{1:D2}:{2:D2} {3}",
                ((hour >= 0 && hour < 12) ? hour : hour % 12), minute, second, (hour > 12) ? "FM" : "AM");
        }

        static void Main(string[] args)
        {
            Time2 time = new Time2(12);
            Time2 time1 = new Time2(2);
           
            string output;

            output = "hello  /n";
            //time.setTime(7, 8, 9);
            output += "/n" + time.ToUniversal() +
                "/n" + time.ToStandard();
            //time .setTime ()
            //time1.setTime()

            output += "/n/n" + time1.ToUniversal() +
                "/n" + time1.ToStandard();
             
            Console.Write(output);
            Console.ReadKey();
        }
    }
}

我本来是想表达的是,一个构造函数对 小时(hour)进行重载,另一个对分钟(minute)

进行重载,但是在这就报错了。开始还理所当然的,以为构造函数所带的参数不同。呵呵~~报错后,才想起,这个参数是 局部变量 ,对上下文其他的方法,不能构成影响!

                                                                                    ——知识重在积累!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值