控制台程序报错:未将对象引用设置到对象的实例

来源:百度知道 编辑:UC知道 时间:2024/06/04 14:49:17
using System;
using System.Collections.Generic;
using System.Text;

namespace virtual1
{
class Employee
{
protected string _name;
public Employee()
{ }
public Employee(string name)
{
this._name = name;
}
public virtual void StartWork()
{ Console.Write(_name + "开始工作:"); }
}

class Manager:Employee //类: 经理
{
public Manager(string Name): base(Name)
{ }

public override void StartWork()
{
base.StartWork();
Console.WriteLine("给员工下达任务。");
}
}

class Secretary:Employee //类:秘书
{
public Secretary(string Name): base(Name)
{ }

public override void StartWork()
{
base.S

你采用new Employee[4]的方式声明了一个EMP数组,也就是在内存中分配了4个Employee的对象,但你只对0~2进行了实例化,而没有对3进行实例化,foreach循环是判断内存是否被定义,也就是说你的EMP[3]没有被实例化,你就调用了他的StartWork方法。显然会报错。