Problem mit Klasse m. eigenem Operator
-
Moin,
ich habe diese Klasse:class CHousePos { public: CHousePos(int position, CHouse* howner); ~CHousePos(void); //... bool operator&& (CHousePos& other); bool operator&& (CHousePos* other); //... };
Und lege nun ein paar Zeiger die auf ein CHousePos zeigen an.
wenn ich nun einif(housepos1 && housepos2)
mache, nimmt er nicht meinen, sondern einen anderen Operator.
Wie bringe ich ihm bei, meinen Operator zu nehmen?MfG
das_brot
-
das_brot schrieb:
Und lege nun ein paar Zeiger die auf ein CHousePos zeigen an.
wenn das zeiger sind muss es heissen
if(*housepos1 && *housepos2)
ansonsten vergleichst du die pointer
K.
-
Danke, an Dereferenzierung habe ich gar nicht gedacht, da man zB. in MFC-Klassen wie CString auch Pointer Konkatenieren und vergleichen kann.
Wie wird das dort gelöst?
-
Kann ich mir so nicht vorstellen. zeig ein beispiel;
Kurt
-
stimmt, geht nicht.
Shame on me
-
Achte auf const-correctness.