return temp;
}
Complex Complex::operator-(const Complex& Right) // Complex - Complex
{
Complex temp;
temp.real = real-Right.real;
temp.image = image-Right.image;
return temp;
}
Complex Complex ::operator - () // унарный минус
{
Complex temp;
temp.real = -real;
temp.image = -image;
return temp;
}
Complex & Complex::operator = (const Complex Right) // Complex = Complex
{
if (&Right==this)
return *this;
this->real = Right.real;
this->image = Right.image;
return *this;
}
bool Complex::operator == (Complex Right) // Complex == Complex
{
double tLeft = sqrt(real*real+image*image);
double tRight = sqrt(Right.real*Right.real+Right.image*Right.image);
return (tLeft==tRight);
}
bool Complex::operator != (Complex Right) // Complex == Complex
{
return !(*this==Right);
}
bool Complex::operator < (Complex &Right)
{
double tLeft = sqrt(real*real+image*image);
double tRight = sqrt(Right.real*Right.real+Right.image*Right.image);
return (tLeft<tRight);
}
bool Complex::operator < (const Complex &Right)
{
double tLeft = sqrt(real*real+image*image);
double tRight = sqrt(Right.real*Right.real+Right.image*Right.image);
return (tLeft<tRight);
}
bool Complex::operator > (Complex &Right)
{
return Right<*this;
}
Complex:: operator int()
{
return (int)sqrt(real*real+image*image);
}
ostream & operator << (ostream &out, Complex &obj) // ввод в поток
{
out<<"Z = "<<obj.real<<" + "<<obj.image<<"i ";
return out;
}
ostream & operator << (ostream &out, const Complex &obj)
{
out<<"Z = "<<obj.real<<" + "<<obj.image<<"i ";
return out;
}
istream & operator >> (istream &in, Complex &obj) // вывод из потока
{
cout<<"Введите real = \b\b\b\b";
in>>obj.real;
cout<<"Введите image = \b\b\b\b";
in>>obj.image;
return in;
}
main.cpp:
#include "Complex.h"
#include <locale>
#define ESC 27
#define ONE 49
#define TWO 50
#define THREE 51
#define FOUR 52
#define FIVE 53
void gotoxy(int, int);
int menu();
void showTable(int, int, Complex**&);
void deleteArr(Complex** &, int);
void add(Complex**, int);
void sub(Complex**, int);
void inc(Complex**, int);
void dec(Complex**, int);
const Complex model(1.5, 2.5); // константный объект класса
Complex** arrPointers; // объявление массива исходных
// объектов
Complex** arrResult; // объявление массива объектов// результатов
int arrSize = 5; // размер таблицы
int main()
{
setlocale(LC_ALL, "Russian");
SetConsoleTitleA("LAB2: Complex numbers");
arrPointers = new Complex*[arrSize](); // определение массива
arrResult = new Complex*[arrSize]();
for (int i = 0; i<arrSize; i++) // заполнить строки таблицы
{
gotoxy(18, 4);
cout<<model<<endl;
showTable(0, 2, arrPointers);
*(arrPointers+i) = new Complex(0, 0); // создаем объект с параметрами
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.