class Program
{
static void Main(string[] args)
{
Program a = new Program();
Console.ReadLine();
}
public Program()
{
Console.WriteLine("constructor without parameters");
}
public Program(int a = 0)
{
Console.WriteLine("optional parameters constructor");
}
}
Why is the second constructor used and why is it not forbidden (same signature)?