重载自增运算符++
public class Person
{
public int age;
public Person(int age)
{
this.age = age;
}
public static Person operator ++(Person p)
{
++p.age;
return p;
}
}
在main方法中执行
Person p = new Person(10);
p++;
Console.WriteLine(p.age);
结果
重载自增运算符+
先改一改代码
public class Person
{
public int age;
public string name;
public Person(int age)
{
this.age = age;
}
public static Person operator ++(Person p)
{
++p.age;
return p;
}
public static Person operator +(Person man, Person femal) {
Person son = new Person(0);
son.name = "baby ("+man.name + " && " + femal.name+")";
return son;
}
}
在main方法中执行
Person p = new Person(22);
p++;
Console.WriteLine(p.age);
p.name = "Tom";
Person mary = new Person(20);
mary.name = "mary";
Person son = p + mary;
Console.WriteLine("name is :{0},age is {1}", son.name, son.age);
看看结果