Infiniti_Inter

практика 17 №1

Nov 11th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.50 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace mainSolution
  8. {
  9.  
  10.  
  11.     class Point
  12.     {
  13.  
  14.         private int x, y;
  15.         private double Sqr(int x) => x * x;
  16.         public Point(int x, int y)
  17.         {
  18.             this.x = x;
  19.             this.y = y;
  20.         }
  21.         public Point() => x = y = 0;
  22.        
  23.  
  24.         public void Print()
  25.         {
  26.             Console.WriteLine(x + " " + y);
  27.         }
  28.         public double Range()
  29.         {
  30.             return Math.Sqrt(Sqr(x) + Sqr(y));
  31.         }
  32.         public void move(int a, int b)
  33.         {
  34.             x += a;
  35.             y += b;
  36.         }
  37.  
  38.         public int X
  39.         {
  40.             get =>x;
  41.             set => x = value;
  42.         }
  43.         public int Y
  44.         {
  45.             get => y;
  46.             set => y = value;
  47.         }
  48.  
  49.         public int Mult
  50.         {
  51.             set
  52.             {
  53.                 x *= value;
  54.                 y *= value;
  55.             }
  56.         }
  57.         public int this[int index]//индексатор
  58.         {
  59.             get
  60.             {
  61.                 try
  62.                 {
  63.                     if (index > 1)
  64.                         throw new Exception();
  65.                 }
  66.                 catch(Exception ex)
  67.                 {
  68.                     Console.WriteLine("index of Point can't be more than 1");
  69.                     System.Environment.Exit(1);
  70.                 }
  71.                 return index == 0 ? x : y;
  72.  
  73.             }
  74.         }
  75.  
  76.  
  77.         public static Point operator ++(Point p)
  78.         {
  79.             return new Point(++p.x, ++p.y);
  80.         }
  81.         public static Point operator --(Point p)
  82.         {
  83.             return new Point(--p.x, --p.y);
  84.         }
  85.         public static bool operator true(Point a)//перегрузка констант true и false
  86.         {
  87.             return a.x == a.y ? true : false;
  88.         }
  89.         public static bool operator false(Point a)//перегрузка констант true и false
  90.         {
  91.             return a.x == a.y ? true : false;
  92.         }
  93.  
  94.         public static Point operator +(Point a, int b)//перегрузка оператора '!'
  95.         {
  96.             a.x += b;
  97.             a.y += b;
  98.             return a;
  99.         }
  100.  
  101.     }
  102.  
  103.     static class Program
  104.     {
  105.  
  106.         static void Main(string[] args)
  107.         {
  108.             Point a = new Point(2, 3);
  109.             a += 3;
  110.             a.Print();
  111.         }
  112.  
  113.     }
  114. }
Add Comment
Please, Sign In to add comment