Страницы

Поиск по вопросам

среда, 17 апреля 2019 г.

Как правильно модифицировать базовый конструткор?

Мучаю наследование. Стакнулся на моменте использования конструктора базового класса в производном.
Базовый класс:
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; } }

Комментариев нет:

Отправить комментарий