Как решить данную задачу на C++?
Текст задачи: Напишите структуру ThisChecker. У неё будет всего один метод bool IsSame(const ThisChecker&). Т.е. метод принимает только один аргумент, константную ссылку на объект типа ThisChecker. Этот метод должен вернуть true, если аргументом является тот же самый объект, метод которого вызывается, и false в противном случае (см. пример). Метод должен работать как для константных, так и не константных объектов(также см. пример) В систему отправляйте только код структуры
Пример:
ThisChecker a;
ThisChecker b;
std::cout << a.IsSame(b) << "\n"; // false
std::cout << a.IsSame(a) << "\n"; // true
const ThisChecker& c = a;
std::cout << c.IsSame(a) << "\n"; // true
У меня написан небольшой код, он выглядит так:
#include <iostream>
struct ThisChecker {
bool IsSame(const ThisChecker&t) {
if (&t == this) {
return true;
}
else {
return false;
};
}
};
int main(){
ThisChecker a, b, c;
std::cout << a.IsSame(a);
std::cout << b.IsSame(a);
std::cout << b.IsSame(b);
const ThisChecker& c = a;
std::cout << c.IsSame(a) << "\n";
return 0;
}
Я никак не могу взять в толк - каким способом я могу взаимодействовать с объектом и аргументом внутри выполнения метода, чтобы анализировать их идентичность, или различие. Думаю, на них как-то нужно оставить ссылку, но сделать это, как ни пытался, не знаю как.
Кроме того, код не работает с константными объектами
Я сам начинающий - спасибо за помощь!