class BaseClass{ public BaseClass() { Console.WriteLine("基類構造函數"); } public BaseClass(string str) { Console.WriteLine("基類構造函數,參數:{0}",str); }}class Something:BaseClass{ //設定SomeClass類不帶參數的構造函數自動調用SomeClass(string str)構造函數, //并未str參數提供一個默認值:Something public Something():this("something") { Console.WriteLine("調用Something()構造函數"); } //設定SomeClass(string str)構造函數自動調用SomeClass(string str,int val)構造函數 //并為val參數提供一個默認值:10 public Something (string str):this(str,10) { Console.WriteLine("調用Something(string str)構造函數"); } public Something(string str,int val) { Console.WriteLine("調用SomeClass(string str,int val)構造函數"); }}class ClassExample{ public static void Main() { Something child = new Something("something"); Console.Read(); }}//初始化類的時候使用的是SomeClass(string str)構造函數,因此會先調用SomeClass(string str, int val)構造函數,這里程序應該執行完了,為什么還會繼續執行SomeClass(string str )構造函數?
添加回答
舉報
0/150
提交
取消