using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApp
{
class operatorSample
{
//public static void Main()
//{
// //重载操作符test
// operatorTest ot = new operatorTest();
// ot.Run();
// Console.Read();
//}
}
//-----------------------------------------------------------------------------
//重载操作符
public class operatorTest
{
public void Run()
{
Student s1 = new Student(20, "Tom");
Student s2 = new Student(18, "Jack");
Student s3 = s1 + s2;
s3.sayPlus();
(s1 - s2).sayMinus();
}
}
public class Student
{
public Student() { }
public Student(int age, string name)
{
this.name = name;
this.age = age;
}
private string name;
private int age;
public void sayPlus()
{
System.Console.WriteLine("{0} 年龄之和为:{1}", this.name, this.age);
}
public void sayMinus()
{
System.Console.WriteLine("{0} 年龄之差为:{1}", this.name, this.age);
}
//覆盖“+”操作符
public static Student operator +(Student s1, Student s2)
{
return new Student(s1.age + s2.age, s1.name + " And " + s2.name);
}
//覆盖“-”操作符
public static Student operator -(Student s1, Student s2)
{
return new Student(Math.Abs(s1.age - s2.age), s1.name + "And" + s2.name);
}
}
}