strcmp
возвращает 0, когда строки равны, поэтому вы хотите:
return strcmp(a, other.a) == 0;
Вы также должны использовать ссылку const
, как говорит Кэтэлин Питиlin в своем ответе, потому что тогда вы можете использовать временные объекты с оператором, и вы должны также сделать сам метод const
(поскольку он не изменяет объект), как Андреас Бринк говорит в комментариях ниже. Таким образом, ваш метод должен быть:
bool operator ==(const A &other) const
{
return strcmp(a, other.a) == 0;
}