class SomeType{
private int m_x = 5;
private string m_s = "Hi there";
private double m_d = 3.14159;
private byte m_b;
public SomeType()
{ ... }
public SomeType(int x){ ... }
public SomeType(string s){ ...; m_d = 10; }
}
《CLR via C#》上说:“由于上面类有3个构造器,所以编译器共生成3次初始化 m_x,m_s,m_d的代码 —— 每个构造器一次.”
问题:编译器为什么会生成 3次 初始化 m_x,m_s,m_d的代码(实例类时只会调用一个构造函数啊) ? 应该只初始化1次啊!