Код писался под консоль, что-то вроде калькулятора для комплексных чисел, с перегрузкой каждого оператора. Как перенести этот класс? В форме у меня будет поля для чисел и кнопки для арифметических операторов. Может ли компилятор по нажатию на кнопку перейти на инструкции перегруженного оператора? Возможно ли это, если просто добавить класс в код и поставить под каждую кнопку свой оператор? Но я так понимаю, что операторы ввода\вывода перегрузить в формах не выйдет, поэтому меня интересуют хотя бы арифметические.
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;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости