Como sobrecarregar o operador == () para um ponteiro para a classe?
Eu tenho uma classe chamadaAString
. É bem básico:
class AString
{
public:
AString(const char *pSetString = NULL);
~AString();
bool operator==(const AString &pSetString);
...
protected:
char *pData;
int iDataSize;
}
Agora eu quero escrever um código como este:
AString *myString = new AString("foo");
if (myString == "bar") {
/* and so on... */
}
No entanto, o operador de comparação existente suporta apenas
if (*myString == "bar")
Se eu omitir esse asterisco, o compilador está infeliz.
Existe uma maneira de permitir que o operador de comparação compare*AString
comconst char*
?