namespace Sample
{
public class Program
{
static int x;
public Program(int Y) {
x = Y;
Console.WriteLine("one value base class constructor called");
}
static void Main(string[] args)
{
Program prog = new s(10);
Console.ReadKey();
}
}
public class s: Program {
public s(int k):base(10)
{
Console.WriteLine("derived class constructor called");
}
}
}
Почему конструктор базового класса вызывается первым?Если у меня есть параметризованный конструктор, определенный в базовом классе, то для конструктора производного класса обязательно передать значения конструктору базового класса из производного класса.
Я хотел бы узнать причину, по которой он является обязательным?Если в конструктор базового класса не передаются значения, компилятор выдает сообщение об ошибке: « Нет аргумента, соответствующего необходимому формальному параметру ».
Я не спрашиваю,я не должен передавать значения в базовый класс, но у меня вопрос, почему я должен это делать?Почему конструктор базового класса должен вызываться первым?