Surma
Erfahrenes Mitglied
Tach!
Ich wendem ich gerade Mandelbrot zu, und wollte deshalb eine Klasse fuer komplexe Zahlen bauen. Nun beschaeftige ich mich zum ersten mal mit Operatoren in Klassen und bleibe bei meinem "="-Operator haengen.
Da meckert nun mein Compiler, das da riesen Pointerprobleme auftreten. Wie muss so ein =-Operator aufgebaut sein? Ich hatte mir dies jetzt aus einer Engine (TriBase - Matrixklasse) geklaut, was anscheinend doch nicht so einfach funktioniert...
Gruss
Crock
Ich wendem ich gerade Mandelbrot zu, und wollte deshalb eine Klasse fuer komplexe Zahlen bauen. Nun beschaeftige ich mich zum ersten mal mit Operatoren in Klassen und bleibe bei meinem "="-Operator haengen.
Code:
class KOMPLEXFLOAT
{
public:
float fRe, fIm ;
inline KOMPLEXFLOAT ()
{
fRe = 0 ;
fIm = 0 ;
}
inline KOMPLEXFLOAT (float _fRe, float _fIm)
{
fRe = _fRe ;
fIm = _fIm ;
}
inline KOMPLEXFLOAT operator + (KOMPLEXFLOAT a)
{
return KOMPLEXFLOAT (fRe + a.fRe, fIm + a.fIm) ;
}
inline KOMPLEXFLOAT operator + (float a)
{
return KOMPLEXFLOAT (fRe + a, fIm + a) ;
}
inline KOMPLEXFLOAT operator - (KOMPLEXFLOAT a)
{
return KOMPLEXFLOAT (fRe - a.fRe, fIm - a.fIm) ;
}
inline KOMPLEXFLOAT operator - (float a)
{
return KOMPLEXFLOAT (fRe - a, fIm - a) ;
}
inline KOMPLEXFLOAT operator * (KOMPLEXFLOAT a)
{
return KOMPLEXFLOAT (fRe * a.fRe - fIm * a.fIm, fRe * a.fIm + fIm * a.fRe) ;
}
inline KOMPLEXFLOAT operator = (KOMPLEXFLOAT a)
{
return *this ;
}
};
Da meckert nun mein Compiler, das da riesen Pointerprobleme auftreten. Wie muss so ein =-Operator aufgebaut sein? Ich hatte mir dies jetzt aus einer Engine (TriBase - Matrixklasse) geklaut, was anscheinend doch nicht so einfach funktioniert...
Gruss
Crock