Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / С++Builder / Laba4 / compl

.h
Скачиваний:
13
Добавлен:
17.04.2013
Размер:
2.58 Кб
Скачать
//---------------------------------------------------------------------------

#ifndef complH
#define complH
//---------------------------------------------------------------------------
#endif

#include <vcl.h>

struct EPoint
{
  double x;
  double y;
};

class Compl
{
private:
        double x,y;
        TImage* Img;
        bool issel;
public:
        bool IsSelected() {return issel;};
        Mark(bool h);
        ReDraw(bool vis=true);
        EPoint GetXY() {EPoint bb;bb.x=x;bb.y=y;return bb;};
        Compl(double r, double angle, TImage* _Img);
        Compl(EPoint begin, EPoint end, TImage* _Img);
        Compl(const Compl &source, TImage* _Img);
        ~Compl();
        rotate(double angle);
        double getangle(Compl n1,Compl n2);
        Compl& operator= (Compl num) {
            x = num.x;
            y = num.y;
            return *this;
          }

        Compl& operator+= (const Compl *num) {
            x+=num->x;
            y+=num->y;
            return *this;
          }

        Compl& operator= (const Compl *num) {
            x=num->x;
            y=num->y;
            return *this;
          }

        Compl operator + (Compl num)
                {
                Compl z(0,0,Img);
                z.x=num.x+x;
                z.y=num.y+y;
                return z;
                }

        Compl operator - (Compl num)
                {
                Compl z(0,0,Img);
                z.x=-num.x+x;
                z.y=-num.y+y;
                return z;
                }

        Compl operator * (Compl num)
                {
                Compl z(0,0,Img);
                z.x=x*num.x-y*num.y;
                z.y=x*num.y+y*num.x;
                return z;
                }

        Compl operator / (Compl num)
                {
                Compl z(0,0,Img);
            z.x=(x*num.x+y*num.y)/(num.x*num.x+num.y*num.y);
            z.y=(-x*num.y+y*num.x)/(num.x*num.x+num.y*num.y);

                return z;
                }


                  Compl& operator-= (Compl num) {
            x-=num.x;
            y-=num.y;
            return *this;
          }
                  Compl& operator*= (Compl num) {
            x=x*num.x-y*num.y;
            y=x*num.y+y*num.x;
            return *this;
          }
                  Compl& operator/= (Compl num) {
            x=(x*num.x+y*num.y)/(num.x*num.x+num.y*num.y);
            y=(-x*num.y+y*num.x)/(num.x*num.x+num.y*num.y);
            return *this;
          }
};
Соседние файлы в папке Laba4