Перегрузка простейших операций в простейших классах - C# (199439)
Формулировка задачи:
Общая постановка задачи:
Реализовать класс из индивидуального задания. Каждый разрабатываемый класс должен содержать:
скрытые данные
перегрузку конструкторов
свойства класса
индексаторы (если необходимо)
указанные перегруженные операции.
При возникновении ошибок должны генерироваться исключения. В программе должна выполняться работоспособность всех разработанных элементов класса.
Задание: Класс “Круг”. Перегрузить +, унарный минус
Решение задачи: «Перегрузка простейших операций в простейших классах»
textual
Листинг программы
using System;
namespace ConsoleApplication15
{
//Сложения координат двух объектов.
class Circle
{
private int _x, _y, _z;
public Circle()
{
_x = _y = _z = 0;
}
public Circle(int i, int j, int k)
{
_x = i;
_y = j;
_z = k;
}
public static Circle operator + (Circle op1, Circle op2)
{
Circle result = new Circle();
result._x = op1._x + op1._x;
result._y = op1._y + op1._y;
result._z = op1._z + op1._z;
return result;
}
public static Circle operator - (Circle op1, Circle op2)
{
Circle result = new Circle();
result._x = op1._x - op1._x;
result._y = op1._y - op1._y;
result._z = op1._z - op1._z;
return result;
}
public void Show()
{
Console.WriteLine(_x + ", " + _y + ", " + _z);
}
}
class Program
{
static void Main()
{
Circle a = new Circle(1, 2, 3);
Circle b = new Circle(10, 10, 10);
Circle c;
Console.Write("Координаты точки а: ");
a.Show();
Console.WriteLine();
Console.Write("Координаты точки а: ");
b.Show();
Console.WriteLine();
c = a + b;
Console.Write("Результат сложения a + b: ");
c.Show();
Console.WriteLine();
c = a + b + c;
Console.Write("Результат сложения a + b + c: ");
c.Show();
Console.WriteLine();
c = c - a;
Console.Write("Результат вычитания c - а: ");
c.Show();
Console.WriteLine();
c = c - b;
Console.Write("Результат вычитания а: ");
c.Show();
Console.WriteLine();
}
}
}