上古卷轴5天空之城:C#程序小问题,谢谢您来解答! f

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 07:49:06
using Sysetm;
class Employee
{
private string name;
private int age;
private string sex;
Employee(string _name,int _age,string _sex)
{
name=_name;
age=_age;
sex=_sex;
}
public string GetName()
{
return name;
}
public string GetSex()
{
return sex;
}
public int age()
{
return age;
}
}

class Sales:Employee
{
private int mdb;
Sales(string _name,string _sex,int _mdb)
{
name=_name;
sex=_sex;
mdb=_mdb;
}

public void Disp GetMdb()
{
Console.WriteLine("您的姓名为:{0},性别:{1},工资:{2}",name,sex,mdb);
}
}

class Hello
{
public static void Main()
{
Employee e=new Employee("李四",20,"男");
Console.WriteLine(e.GetName());
Sales s=new Sales("王五","女",22);
s.Disp();
}
}

程序出错,不知道错在哪里,麻烦您给写与正确的程序

嘻嘻,程序的确有好几个错误.

1. 基类Employee中有变量
name,sex的类型为private
在继继承类Sales中的构造函数中
又想对其进行操作,权限是不够的
应改为protected类型.

2. 另外Sales在继承Employee类时
用的是无初值生成继承的子类
然后再传初值生成实例
所以基类Employee还缺一个
无参数传入的构造函数重载
在定义Employee类时再加上
public Employee(){}.

3. Sales类的Disp GetMdb()函数名声明
和Main中的Disp()函数调用时不一致
改成一致即可.

改动不多,正确的代码可参考如下, 在VS2005编译通过:

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

namespace Baidu060226
{
class Employee
{
protected string name;
protected int age;
protected string sex;

public Employee()
{
}

public Employee(string _name, int _age, string _sex)
{
name = _name;
age = _age;
sex = _sex;
}

public string GetName()
{
return name;
}

public int GetAge()
{
return age;
}

public string GetSex()
{
return sex;
}
}

class Sales : Employee
{
private int mdb;

public Sales(string _name, string _sex, int _mdb)
{
name = _name;
sex = _sex;
mdb = _mdb;
}

public void Disp()
{
Console.WriteLine("您的姓名为:{0} ,性别:{1} ,工资:{2} ", name, sex, mdb);
}
}

class Program
{
static void Main(string[] args)
{
Employee e = new Employee("李四", 20, "男");
Console.WriteLine(e.GetName());
Sales s = new Sales("王五", "女", 22);
s.Disp();
Console.ReadLine();
}
}
}