powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перегрузка оператора сравнения
5 сообщений из 5, страница 1 из 1
Перегрузка оператора сравнения
    #34363304
rommy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, требуется помощь:
Пытаюсь разобраться с перегрузкой оператора сравнения, но чего-то не получается

Сам класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
class human
{
public:
    int q1;
    int q2;

    bool operator == (const human *r)
    {
        if (this->q1==r->q1 && this->q2==r->q2)
            return true;
        else
            return false;
    }

};

Использование:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    human *h1 = new human();
    human *h2 = new human();


    h1->q1 =  1 ;
    h1->q2 =  1 ;

    h2->q1 =  1 ;
    h2->q2 =  1 ;


    if (h1==h2)
        Application->MessageBoxA("Equal","");
    else
        Application->MessageBoxA("Not equal","");

    delete h1;
    delete h2;

Подскажите плиз, где я накосячил?
...
Рейтинг: 0 / 0
Перегрузка оператора сравнения
    #34363477
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rommy
Подскажите плиз, где я накосячил?

Здесь:
if (h1==h2)
Вы сравниваете указатели.

правильно должно быть так :
h1->operator==(h2)


Или так:

bool operator == (const human& r);
...
Рейтинг: 0 / 0
Перегрузка оператора сравнения
    #34363495
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- o> Здесь:
o> if (h1==h2)
o> Вы сравниваете указатели.

o> правильно должно быть так :
o> h1->operator==(h2)
а почему не (*h1==*h2) ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перегрузка оператора сравнения
    #34363508
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас onstat- o> Здесь:
o> if (h1==h2)
o> Вы сравниваете указатели.

o> правильно должно быть так :
o> h1->operator==(h2)
а почему не (*h1==*h2) ?
Posted via ActualForum NNTP Server 1.4

Тогда дожно быть не (*h1==*h2) а (*h1==h2).
...
Рейтинг: 0 / 0
Перегрузка оператора сравнения
    #34363718
rommy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, огромное спасибо!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перегрузка оператора сравнения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]