Создать класс Rectangle - C# (194927)
Формулировка задачи:
Здравствуйте. как в задаче можно прописать Main?
вот условие задачи:
Создать класс Rectangle, разработав следующие элементы класса:
a. Поля:
• int a, b;
b. Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.
c. Методы, позволяющие:
• вывести длины сторон прямоугольника на экран;
• расчитать периметр прямоугольника;
• расчитать площадь прямоугольника.
d. Свойства:
• получить-установить длины сторон прямоугольника (доступное для чтения и записи);
• позволяющее установить, является ли данный прямоугольник квадратом (доступное только для чтения).
В класс Rectangle добавить:
a. Индексатор, позволяющий по индексу 0 обращаться к полю a, по индексу 1 – к полю b, при других значениях индекса выдается сообщение об ошибке.
b. Перегрузку:
• операции ++ (--): одновременно увеличивает (уменьшает) значение полей a и b;
• констант true и false: обращение к экземпляру класса дает значение true, если прямоугольник с заданными длинами сторон является квадратом, иначе false;
• операции *: одновременно домножает поля a и b на скаляр;
• преобразования типа Rectangle в string (и наоборот).
вот код программы:
using System; using System.Text; namespace pr13 { class Rectangle { //поля private int a, b; //конструктор public Rectangle(int a, int b) { this.a = a; this.b = b; } //Метод для вывода длин сторон прямоугольника на экран public void WriteAB() { Console.WriteLine("Длина a={0}", a); Console.WriteLine("Длина b={0}", b); } //Метод возвращает периметр прямоугольника public int Perimeter() { return 2 * a + 2 * b; } //Метод возвращает площадь прямоугольника public int Area() { return a*b; } //Свойства для чтения и записи поля a public int A { get { return a; } set { a = value; } } //Свойства для чтения и записи поля b public int B { get { return b; } set { b = value; } } //Свойство для чтения - является ли данный прямоугольник квадратом public bool IsSquare { get { return a==b; } } //Индексатор public int this[int index] { get { if (index==0) return a; if (index == 1) return b; Console.WriteLine("Неверный индекс {0}", index); return -1; } set { if (index == 0) a = value; if (index == 1) b = value; if (index!=0 && index!=1) Console.WriteLine("Неверный индекс {0}", index); } } //Перегрузка оператора ++ public static Rectangle operator ++(Rectangle r) { r.A++; r.B++; return r; } //Перегрузка оператора -- public static Rectangle operator --(Rectangle r) { r.A--; r.B--; return r; } //Перегрузка оператора false public static bool operator false(Rectangle r) { if (!r.IsSquare) return false; return true; } //Перегрузка оператора true public static bool operator true(Rectangle r) { if (r.IsSquare) return true; return false; } //Перегрузка оператора умножения на скаляр (справа) public static Rectangle operator *(Rectangle r, int v) { r.A *= v; r.B *= v; return r; } //Перегрузка оператора умножения на скаляр (слева) public static Rectangle operator *(int v,Rectangle r) { r.A *= v; r.B *= v; return r; } //Перегрузка преобразования Rectange в string public static implicit operator string(Rectangle r) { //результирующая строка состоит из значений a и b через пробел return r.A.ToString() + " " + r.B.ToString(); } //Перегрузка преобразования string в Rectange public static implicit operator Rectangle(string s) { //выделяем числа из строки (они в строке даны через пробел) string[] w = s.Split(' '); //возвращаем новый Rectangle return new Rectangle(Convert.ToInt32(w[0]), Convert.ToInt32(w[1])); } } }
Решение задачи: «Создать класс Rectangle»
textual
Листинг программы
class Program { static void Main(string[] args) { int x = int.Parse(Console.ReadLine()); int y = int.Parse(Console.ReadLine()); Rectangle rect = new Rectangle(x, y);//создадим новый прямоугольник Console.WriteLine(rect.Area());//выведем его площадь } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д