public class Employee
{public decimal salary;
public decimal Calcsalary()
{this.salary=1000;
return salary;
}
}public class devlop : Employee
{public new decimal Calcsalary
{this.salary=1500;
return salary;
}
}
为什么实例化devlop以后返回的salary还是1000?
小弟初学c#,大虾们不吝赐教

解决方案 »

  1.   

    devlop e1=new devlop() 这样啊 不对吗?
      

  2.   

    public new decimal Calcsalary
    {this.salary=1500;
    return salary;
    }
    ????
    或许你应该先看看  C# 中 new关键字的 几个用法  其中有一个是做修饰符 也许是出现你问题的原因 
      

  3.   

    呃  别的没什么了 子类继承父类 重新定义了salary的值  可是返回的还是父类的 不知道哪儿的问题
      

  4.   

       public class Employee
        {
            public decimal salary;
            public decimal Calcsalary()
            {
                this.salary = 1000;
                return salary;
            }
        }    public class devlop : Employee
        {
            public new decimal Calcsalary()
            {
                this.salary = 1500;
                return salary;
            }
        }   class Test
       {
           public static int Main(string[] args)
            {
                devlop e1 = new devlop();
                e1.Calcsalary();
            }
       }
    如果你是这样写的话,应该不会有问题的。
      

  5.   

     public class Employee
        {
            public decimal salary;
            public decimal Calcsalary()
            {
                this.salary = 1000;
                return salary;
            }
        }    public class devlop : Employee
        {
            public new decimal Calcsalary()
            {
                this.salary = 1500;
                return salary;
            }
        }   class Test
       {
           public static int Main(string[] args)
            {
                devlop e1 = new devlop();
                e1.Calcsalary();
            }
       }
      

  6.   

    没有错啊  为啥输出的salary是1000呢?
    我这没法截图  也没法贴全代码  是在另外的服务器上写的
    楼上的大哥 你试着输出一下  看是1000还是1500