我有一個類執行以下是該類的代碼。在構造函數中傳遞默認值
public class Executive
{
public Executive(int ID=0)
{
//constructor 1
this.BaseSalary = 3000;
Console.Write("DONE");
}
public Executive()
{
//constructor 2
Console.Write("done");
}
}
而在主我做到以下幾點:
Executive exec = new Executive()
它總是調用constructor2。爲什麼不調用Constructor1(ID有默認值)?
這就是方法重載是如何工作的。根據解析規則,無參數構造函數是比需要默認值的構造函數更好的「過載」。 – 2014-11-03 21:27:03
請參閱http://stackoverflow.com/questions/11585000/constructor-overloading-with-default-parameters – Christian 2014-11-03 21:27:17
您會如何在您的場景中調用構造函數#2? – 2014-11-03 21:28:51