怎么调试的时候总是提示堆栈溢出,我里边没有什么死循环啊,怎么提示总算出错,那为高手帮我看看,程序我在下边贴出来了。在这先谢了。using System;public abstract class point{
    private string name;    private long idcard;    private double salary;    //private double incresed;    public  point(string m, long n, double i)    {
        this.name = m;        this.idcard = n;        this.salary = i;
    }    public abstract string Name
    {
        get;
        set;
    }
    public abstract long Idcard
    {
        get;
        set;
    }
    public abstract double Salary                                                                                                                               
    {
        get;
        set;
    }
    public abstract double Increased
    {
        get;
        set;
    }
    public abstract void printf();    public abstract void rasie(double precent);
}public class workemp : point{
    public workemp(string m, long n, double i)
        : base(m, n, i)
    { }    public override string Name
    {
        get
        {
            return Name;
        }
        set
        {
            Name = value;
        }
    }
    public override long Idcard
    {
        get
        {
            return Idcard;
        }
        set
        {
            Idcard = value;
        }
    }
    public override double Salary
    {
        get
        {
            return Salary;
        }
        set
        {
            Salary = value;
        }
    }
    public override double Increased
    {
        get
        {
            return Increased;
        }
        set
        {
            Increased = value;
        }
    }
    public override void rasie(double precent)
    {
        Increased = precent * Salary;
    }
    public override void printf()
    {
        System.Console.WriteLine(Name);
        System.Console.WriteLine(Idcard);
        System.Console.WriteLine(Salary);
        System.Console.WriteLine(Increased);
    }
}
public class test{
    public static void Main()    {
        workemp w = new workemp("zhao",158764,2600);        w.rasie(0.05);        w.printf();        System.Console.Read();
    }
}

解决方案 »

  1.   

    帮你修改的代码如下,首先把基类的变量变为protected,然后把get,set那里的大写变为小写,get,set是赋给成员变量值或者用它的值,然后把你主程序写上去就ok了using System;public abstract class point
    {
        protected string name;    protected long idcard;    protected double salary;    protected double increased;
        public point(string m, long n, double i)
        {
            this.name = m;        this.idcard = n;        this.salary = i;
        }    public abstract string Name
        {
            get;
            set;
        }
        public abstract long Idcard
        {
            get;
            set;
        }
        public abstract double Salary
        {
            get;
            set;
        }
        public abstract double Increased
        {
            get;
            set;
        }
        public abstract void printf();    public abstract void rasie(double precent);
    }public class workemp : point
    {
        public workemp(string m, long n, double i)
            : base(m, n, i)
        { }    public override string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        public override long Idcard
        {
            get
            {
                return idcard;
            }
            set
            {
                idcard = value;
            }
        }
        public override double Salary
        {
            get
            {
                return salary;
            }
            set
            {
                salary = value;
            }
        }
        public override double Increased
        {
            get
            {
                return increased;
            }
            set
            {
                increased = value;
            }
        }
        public override void rasie(double precent)
        {
            Increased = precent * Salary;
        }
        public override void printf()
        {
            System.Console.WriteLine(Name);
            System.Console.WriteLine(Idcard);
            System.Console.WriteLine(Salary);
            System.Console.WriteLine(Increased);
        }
    }