Код писался под консоль, что-то вроде калькулятора для комплексных чисел, с перегрузкой каждого оператора. Как перенести этот класс? В форме у меня будет поля для чисел и кнопки для арифметических операторов. Может ли компилятор по нажатию на кнопку перейти на инструкции перегруженного оператора? Возможно ли это, если просто добавить класс в код и поставить под каждую кнопку свой оператор? Но я так понимаю, что операторы ввода\вывода перегрузить в формах не выйдет, поэтому меня интересуют хотя бы арифметические.
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;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброго времени суток, не подскажите, как изменить системное время, которое передается браузером (cefsharp) сайту ? Я ставлю прокси
Задачей является создание кастомного стиля окна обладающего следующими свойствами: