Operator C# Tutorial

using System;
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      MyCar car = 5;
            for( int i = 0; i < 20; ++i )
            {
                car++;
                Console.WriteLine( "{0}", car.GetSpeed());
            }
    }
  }
  public class MyCar
  {
        private static int speed = 2;
        private const int maxSpeed = 200;
        
        public bool ChangeSpeed(int newSpeed)
        {
            if( newSpeed > maxSpeed )
                return false;
            speed = newSpeed;
            return true;
        }
        public static MyCar operator ++( MyCar car )
        {
            car.ChangeSpeed(++speed);
            return car;
        }
        public static implicit operator MyCar( int from )
        {
            MyCar car = new MyCar();
            car.ChangeSpeed( from );
            return car;
        }
        public int GetSpeed()
        {
            return speed;
        }
  }