Ошибка CS0501: function must declare a body because it is not marked abstract, extern, or partial - C#
Формулировка задачи:
прошу помочь исправить код
выдает ошибку CS0501
вот сам код:
Листинг программы
- using System;
- namespace Test
- {
- class Point
- {
- static void Main(string[] args);
- // Поля: int x, y;
- int x, y;
- // Конструкторы, позволяющие создать экземпляр класса: с нулевыми координатами; с заданными координатами.
- public Point(int x = 0, int y = 0)
- {
- this.x = x;
- this.y = y;
- }
- // Методы, позволяющие: вывести координаты точки на экран;
- public void Show() { Console.WriteLine("x = {0}, y = {1}", x, y); }
- // рассчитать расстояние от начала координат до точки;
- public double Origin() { return Math.Sqrt(x * x + y * y); }
- // переместить точку на плоскости на вектор (a, b).
- public void Displacement(int x, int y)
- {
- this.x += x;
- this.y += y;
- }
- // Свойства: получить-установить координаты точки (доступное для чтений и записи);
- public int X
- {
- set { x = value; }
- get { return x; }
- }
- public int Y
- {
- set { y = value; }
- get { return y; }
- }
- // позволяющие умножить координаты точки на скаляр (доступное только для записи).
- public int MultScalX
- {
- set { x *= value; }
- }
- public int MultScalY
- {
- set { y *= value; }
- }
- // Перегрузку: операции ++ (--): одновременно увеличивает (уменьшает) значение полей х и у на 1;
- public static Point operator --(Point obj)
- {
- obj.x -= 1;
- obj.y -= 1;
- return obj;
- }
- public static Point operator ++(Point obj)
- {
- obj.x += 1;
- obj.y += 1;
- return obj;
- }
- // констант true и false: обращение к экземпляру класса дает значение true, если значение полей x и у совпадает, иначе false;
- public static bool operator false(Point obj)
- {
- if (obj.x != obj.y)
- return false;
- return true;
- }
- public static bool operator true(Point obj)
- {
- if (obj.x == obj.y)
- return true;
- return false;
- }
- // операции бинарный +: одновременно добавляет к полям х и у значение скаляра;
- public static Point operator +(Point obj, int scal)
- {
- obj.x += scal;
- obj.y += scal;
- return obj;
- }
- public static Point operator +(int scal, Point obj)
- {
- obj.x += scal;
- obj.y += scal;
- return obj;
- }
- // Индексатор, позволяющий по индексу 0 обращаться к полю x, по индексу 1 – к полю y, при других значениях индекса выдается сообщение об ошибке.
- public int this[int i]
- {
- get
- {
- if (i == 0)
- return x;
- if (i == 1) return y;
- throw new Exception("Error");
- }
- }
- // преобразования типа Point в string (и наоборот).
- public static explicit operator String(Point obj)
- {
- return obj.x + ", " + obj.y;
- }
- public static explicit operator Point(string str)
- {
- string[] q = str.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
- Point obj = new Point();
- obj.x = int.Parse(q[0]);
- obj.y = int.Parse(q[1]);
- return obj;
- }
- }
- }
Решение задачи: «Ошибка CS0501: function must declare a body because it is not marked abstract, extern, or partial»
textual
Листинг программы
- using System;
- namespace Test
- {
- class Program
- {
- static void Main(string[] args)
- {
- //создаем точку p1
- Point p1 = new Point();
- //создаем точку p2
- Point p2 = new Point(10, 20);
- //выводим координаты точки p1
- p1.Show();
- //выводим координаты точки p2
- p2.Show();
- //перемещаем точку p2
- p2.Displacement(3, 12);
- //выводим координаты точки p2
- p2.Show();
- }
- }
- class Point
- {
- // Поля: int x, y;
- int x, y;
- //... и т.д.
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д