Мучаю наследование. Стакнулся на моменте использования конструктора базового класса в производном.
Базовый класс:
namespace ConsoleApp12
{
class Employee
{
public string Name { get; set; }
public float Pay { get; set; }
public int Age { get; set; }
public Employee()
{
}
public Employee(string name, int age, float pay)
{
Name = name;
Age = age;
Pay=pay;
}
}
}
Производный:
namespace ConsoleApp12
{
class Manager : Employee
{
public int SalaryIndex { get; set; }
public Manager(int salIndex) : base(name, age, pay)
{
}
}
}
Получаю ошибку:
Кто может объяснить что я делаю не так?
Ответ
Вы вызываете конструктор базовогo класса, передавая туда в качестве параметров переменные, которых в этом месте нет.
class Manager : Employee
{
public int SalaryIndex { get; set; }
public Manager(int salIndex) : base()
{
SalaryIndex = salIndex;
}
public Manager(int salIndex, string name, int age, float pay) : base(name, age, pay)
{
SalaryIndex = salIndex;
}
}
Комментариев нет:
Отправить комментарий