У меня есть класс с именем AString
. Это довольно просто:
class AString
{
public:
AString(const char *pSetString = NULL);
~AString();
bool operator==(const AString &pSetString);
...
protected:
char *pData;
int iDataSize;
}
Теперь я хочу написать такой код:
AString *myString = new AString("foo");
if (myString == "bar") {
/* and so on... */
}
Однако существующий оператор сравнения поддерживает только
if (*myString == "bar")
Если я опущу эту звездочку, компилятор будет недоволен.
Можно ли разрешить оператору сравнения сравнивать *AString
с const char*
?