能重載的一元運算符:+、-、!、~、++、--、True、False
能重載的二元運算符: +、-、*、/、%、&、|!、^、<<、>>、==、!=、>、<、>=、<=
不能重載的運算符:=、&&、||、[]、()等等
重載運算符不能做什么?
1.創造新的運算符;2.改變運算符語法;3.重定義運算符如何處理預定義類型;4.改變運算符的優先級和結合性
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Dog dog1 = new Dog("jack"); dog1++; dog1.ShowAge(); } } public class Dog { private string Name; private int age = 0; public Dog(string dname) { Name = dname; } public void ShowName() { Console.WriteLine("這是一條狗:{0}", Name); } public void ShowAge() { Console.WriteLine("寵物的年齡為" + age); } // 使用重載運算符 public static Dog operator ++(Dog dog) { dog.age++; // 年齡自增 return dog; } } }