Как добавить пользовательский класс в Windows Forms?

258
05 июня 2017, 21:25

Код писался под консоль, что-то вроде калькулятора для комплексных чисел, с перегрузкой каждого оператора. Как перенести этот класс? В форме у меня будет поля для чисел и кнопки для арифметических операторов. Может ли компилятор по нажатию на кнопку перейти на инструкции перегруженного оператора? Возможно ли это, если просто добавить класс в код и поставить под каждую кнопку свой оператор? Но я так понимаю, что операторы ввода\вывода перегрузить в формах не выйдет, поэтому меня интересуют хотя бы арифметические.

class Complex
{
    double a;
    double b;
    friend ostream &operator <<(ostream &stream, Complex Z);
    friend istream &operator >>(istream &stream, Complex &Z);
public:
    Complex(double z_a, double z_b){ a = z_a; b = z_b; }
    ~Complex(){}
    Complex operator +(Complex Z)
    {
        return Complex(a + Z.a, b + Z.b);
    }
    Complex operator -(Complex Z)
    {
        return Complex(a - Z.a, b - Z.b);
    }
    Complex operator *(Complex Z)
    {
        return Complex((a*Z.a - b*Z.b), (a*Z.b + b*Z.a));
    }
    Complex operator /(Complex Z)
    {
        double denom = pow(Z.a, 2) + pow(Z.b, 2);
        return Complex((a*Z.a + b*Z.b) / denom, (Z.a*b - a*Z.b) / denom);
    }
};
ostream &operator <<(ostream &stream, Complex Z)
{
    stream << Z.a << (Z.b < 0 ? " - " : " + ") << abs(Z.b) << 'i';
    return stream;
}
istream &operator >>(istream &stream, Complex &Z)
{
    stream >> Z.a >> Z.b;
    return stream;
}
READ ALSO
cefsharp изменить передаваемое время c#

cefsharp изменить передаваемое время c#

Доброго времени суток, не подскажите, как изменить системное время, которое передается браузером (cefsharp) сайту ? Я ставлю прокси

256
Как быстро обновить данные через Entity Framework?

Как быстро обновить данные через Entity Framework?

Пишу запрос вот такого вида:

304
WPF Создание кастомного стиля окна с тенью

WPF Создание кастомного стиля окна с тенью

Задачей является создание кастомного стиля окна обладающего следующими свойствами:

373
Выполнение SqlBulkCopy и Entity Framework в одной транзакции

Выполнение SqlBulkCopy и Entity Framework в одной транзакции

Открываю транзакцию в EF вызовом:

212