Lorsque la surcharge d'un « = » opérateur pour une classe, la syntaxe habituelle est:Quelle est la convention pour appeler overloaded = opérateur en C++ en utilisant des pointeurs?
ClassA ObjA, ObjB;
ObjA = ObjB;
Mais qu'en pointeurs ??
Class *PtrA, *PtrB;
PtrA->operator=(PtrB)
est la convention d'appel ci-dessus correcte en supposant l'opérateur =
dans ClassA est défini pour le pointeur sur la classe (ClassA* operator=(const ClassA* obj)
) ??
Cependant, est-PtrA- opérateur> = (PtrB) convention d'appel correcte ?? –
Les opérateurs d'affectation sont rarement écrits pour prendre des pointeurs, ils prennent généralement des références const. Donc, je dirais que c'est la meilleure réponse, et votre exemple 'PtrA-> operator = (PtrB)' devrait être évité. – AshleysBrain
'* ptrA = * ptrB' est équivalent à' ptrA-> operator = (* ptrB) ', mais certainement préféré –