Перегрузка простейших операций в простейших классах - C# (216658)
Формулировка задачи:
Реализовать класс из индивидуального задания. Каждый разрабатываемый класс должен содержать:
скрытые данные
перегрузку конструкторов
свойства класса
индексаторы (если необходимо)
указанные перегруженные операции.
При возникновении ошибок должны генерироваться исключения. В программе должна выполняться работоспособность всех разработанных элементов класса.
Вот само задание:
Класс “Комплексное число”. Перегрузить +, --
Решение задачи: «Перегрузка простейших операций в простейших классах»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Console
{
class Program
{
private class Kompleks
{
private Int32 a, b;
public Kompleks() { }
public Kompleks(params Int32[] list)
{
a = list[0];
b = list[1];
}
public void Enter()
{
Console.WriteLine("Введите a");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите b");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
}
public void Print(String str1)
{
Console.WriteLine(str1);
Console.WriteLine("a = " + a.ToString());
Console.WriteLine("b = " + b.ToString());
Console.WriteLine();
}
public static Kompleks operator --(Kompleks x) //перегрузка унарного оператора --
{
Kompleks temp = new Kompleks();
temp.a = --x.a;
temp.b = --x.b;
return temp;
}
public static Kompleks operator +(Kompleks x, Kompleks y)
{
Kompleks temp = new Kompleks();
temp.a = x.a + y.a;
temp.b = x.b + y.b;
return temp;
}
}
static void Main(string[] args)
{
try
{
Kompleks kom1 = new Kompleks(1, 2);
kom1.Print("1ое комплексное число");
kom1--;
kom1.Print("Перегрузка операции --");
Kompleks kom2 = new Kompleks();
kom2.Enter();
kom2.Print("2ое комплексное число");
Kompleks kom3 = new Kompleks();
kom3 = kom1 + kom2;
kom3.Print("3ее комплексное число(его вещественные показатели равны сумме вещественных показателей 1-ого и 2-ого числа)");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
Console.ReadKey();
}
}
}