这是我的代码,这是什么错误?以及如何解决。如上所述,构造函数是一种方法,它将不包含任何返回类型。如果要使用c#创建构造函数,则需要创建一个名称与类名称相同的方法。
class Program
{
public static int number;
public static string name;
public static float salary = 20000;
static void Main(string[] args)
{
Console.WriteLine("Welcome");
Console.WriteLine("Enter Your Name: ");
name = Console.ReadLine();
Employee System = new Employee("Sameed", 20000f);
Bonus b1 = new Bonus();
//b1.Employee(name, salary);
b1.Salary(salary);
b1.Bonuses();
Display(number);
Display(name,number);
}
static void Display(int n)
{
Console.WriteLine("Employee Number is: " +n);
}
static void Display(string name, int num)
{
Console.WriteLine("Congratulations {0}, your Employee number has been generated {1}",name,num);
}
}
public class Employee
{
public Employee(string n, float s)
{
Console.WriteLine("Hello Mr. {0}, Your Salary is {1}", n, s);
}
}
public class Director:Employee
{
public void Salary(float s)
{
Console.WriteLine("Your Salary is: " + s);
}
}
public class Bonus:Director
{
public void Bonuses()
{
int bonus = 40000;
Console.WriteLine("Your Bonus is: " + bonus);
}
}
错误:雇员'不包含带有0个参数的构造函数
由于Director
类继承了Employee
类,因此应使用基类的构造函数创建实际实例。因此,在您的代码中也将构造函数添加到Director
类中,然后调用基类构造函数,例如
public Director(string n, float s) : base(n, s)
{
}
没有该编译器会产生错误
错误CS7036:没有给出与必需的形式参数
Bonus
类应该做同样的事情>
public Bonus(string n, float s) : base(n, s) { }
Bonus
实例的创建将如下
Bonus b1 = new Bonus(name, salary);
因此,您的Director
是Employee
。而且Employee
只能用name
和salary
2个值实例化。因此,由于您的Director
是Employee
,意味着对他也适用相同的规则-他必须