Informatics3-2024/Solutions6
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2024. április 23., 17:25-kor történt szerkesztése után volt.
Solutions
Only the solutions we discussed on the practical will be here. All the other tasks are perfect to practice for the written exam.
Complex with operators
#include<iostream> #include<cmath> using namespace std; class Complex { private: float re; float im; public: Complex(); Complex(const Complex& other); Complex(float r); Complex(float r, float i); Complex operator+(Complex other); Complex operator*(Complex other); float abs(); void print(); friend ostream& operator<<(ostream& os, Complex& c); ~Complex(); }; Complex::Complex() { re = 0; im = 0; } Complex::Complex(const Complex& other) { re = other.re; im = other.im; } Complex::Complex(float r) { re = r; im = 0; } Complex::Complex(float r, float i) { re = r; im = i; } Complex Complex::operator+(Complex other) { return Complex(this->re + other.re, this->im + other.im); } Complex Complex::operator*(Complex other) { float real = this->re * other.re - this->im * other.im; float imag = this->re * other.im + this->im * other.re; return Complex(real, imag); } float Complex::abs() { return sqrt(this->re * this->re + this->im * this->im); } ostream& operator<<(ostream& os, Complex& c) { os << c.re << " + " << c.im << "i"; return os; } Complex::~Complex() { } int main(void) { Complex a; Complex b = Complex(1,2); Complex c = a * b; Complex d = b + b + b; Complex e = b * d; //Complex e = b.operator*(d); // 5 / 6 / 7; // /(/(5, 6), 7); cout << "a: " << a << endl; cout << "b: " << b << endl; cout << "c: " << c << endl; cout << "d: " << d << endl; cout << "e: " << e << endl; //cout << (c + d) << endl; cout << b.abs() << endl; return 0; }