// Kwaterniony
// PROI - ZAD 1
#include <iostream>
#include <cstdlib>
#include <cmath>

using namespace std;

class Quaternion
{
        //Obiekty bedace wspolczynnikami kwaternionu w postaci algebraicznej:
        int Afactor;
        int Bfactor;
        int Cfactor;
        int Dfactor;
    public:
        //Konstruktor:
        Quaternion(int a, int b, int c, int d);
        //Destruktor
        ~Quaternion(){}
        //Przeciazanie operatorów:
        Quaternion operator+(Quaternion &q);
        Quaternion & operator+=(Quaternion &q);
        Quaternion operator-(Quaternion &q);
        Quaternion & operator-=(Quaternion &q);
        Quaternion operator*(Quaternion &q);
        Quaternion & operator*=(Quaternion &q);
        friend ostream & operator<<(ostream &strm, Quaternion &q);
        double module();
};

