public abstract class Disk
{
protected double total, free;
public float Total //总容量
{
get { return total; }
set { total = value; }
}
public float Free //剩余容量
{
get { return free; }
}
public virtual void Write(float size)
{
if (free >= size)
free -= size;
else
Console.WriteLine("剩余空间不足!");
}
public virtual void Delete(float size)
{
if (free + size <= total)
free += size;
}
}
public class HardDisk
{
public HardDisk(float size)
{
this.total = this.free = size;
}
}
public class FlashDisk
{
public FlashDisk()
{
this.total = this.free = 64000;
}
}
public class CDROM
{
public override void Delete(float size)
{
Console.WriteLine("光盘不可删除!");
}
}

解决方案 »

  1.   

    public class HardDisk : Disk
    {
        public HardDisk(float size)
        {
            this.total = this.free = size;
        }
    }
    public class FlashDisk : Disk
    {
        public FlashDisk()
        {
            this.total = this.free = 64000;
        }
    }
    public class CDROM : Disk
    {
        public override void Delete(float size)
        {
            Console.WriteLine("光盘不可删除!");
        }
    }
      

  2.   

    你都说是派生类 HardDisk。
    那么为何没有继承关系?
      

  3.   

    主方法不知道怎么写,我老想把这些写进main里,还停留在c语言的结构上
      

  4.   

    你找到Program.cs的 Main函数。
    在里面调用就可以了