neuer operator
-
Hallo,
ich würde gerne neue Operatoren für meine Matrizen-Klasse definieren, wie
z.B. ~ für die inverse Matrix oder ^-1 oder # für die adjunke.Ist es möglich, neue Operatorensymbole zu definieren?
Vielen Dank,
Raphael
-
nein, da der Compiler ja nicht wissen würde, wie die genaue Syntax des Operators lautet.
-
~ und ^ gibt es aber sowieso. Man kann sie also überladen. Mit dem # hast Du Pech.
-
dankeschön, jetzt bin ich schlauer
-
Du kannst bestehende Operatorsymbole benutzen und ihnen eine neue Bedeutung geben. Das kann IMHO allerdings für jemanden, der dein Zeug benutzt, verwirrend sein. Bei sowas würde ich dann Funktionen mit Namen verwenden.
-
was ist hier falsch?class a{ public: bool operator==(const int) const; }; int main(){ a a1; int q = 4; a1==q; }
ich bekomme folgende Fehlermeldung:
raphael@linux:~/workspace/test> g++ a.cpp
/tmp/ccwmIQ7n.o(.text+0x2e): In functionmain': : undefined reference to
a::operator==(int) const'
collect2: ld returned 1 exit status
-
du musst den operator== auch implementieren
btw. ist das const bei dem Parameter Sinnlos.
-
äh, ja danke - hätte ich mir auch denken können...