public static void Main()
Kottan lisa = new Kottan("Lisa");
Kottan jack = new Kottan("Jack");
var kitten = jack + lisa;
Console.WriteLine(kitten);
private readonly string name;
private readonly string middleName;
public static Kottan operator + (Kottan maleCat, Kottan womanCat)
return new Kottan(NameHelper.Random(), maleCat.Name + "ovich");
public Kottan(string name, string middleName = "Ivanovna")
this.middleName = middleName;
get { return middleName; }
public override string ToString()
return string.Format("Name: {0}, MiddleName: {1}", name, middleName);
public static string Random()