using System;
class MyClass
{
private string m_name;
private int m_age;
private string m_gender;
// 构造函数1
public MyClass(string name, int age)
{
m_name = name;
m_age = age;
m_gender = "男";
}
// 构造函数2
public MyClass(string name, int age, string gender):
: this(name, age) //<--this的意思是调用“构造函数1”
{
m_gender = gender;
}
public string Name{get{return m_name;}}
public int Age{get{return m_age;}}
public string Gender{get{return m_gender;}}
}
// 测试MyClass
class Program
{
static void Main(string[] args)
{
// c1用构造函数1, 因此默认的性别为“男”
MyClass c1 = new MyClass("张三", 23);
ShowMyClass(c1);
// c2用构造函数2,性别为“女”
MyClass c2 = new MyClass("李四", 22, "女");
ShowMyClass(c2);
}
static void ShowMyClass(MyClass mc)
{
Console.WriteLine("{0}, {1}, {2}" mc.Name, mc.Age, mc.Gender);
}
}