Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2

Что это bool operator== (const CLASS&) const;

10.04.2013, 12:45. Показов 12452. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что это?
C++
class CLASS
{
    public:
    bool operator== (const CLASS&) const;
    ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2013, 12:45
Ответы с готовыми решениями:

как правильно понять тип bool ? bool true(const string &str) и что дает это значение ?
задам может глупый вопрос, но прошу ответить. как правильно понять тип bool ? bool true(const string &str) и что дает это...

char operator[](unsigned short offset) const; // что означает const?
Собстенно вопрос уже озвучен :).

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

14
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
10.04.2013, 12:47
Это оператор ==, чтоб можно было делать так
C++
1
2
CLASS a, b;
if (a == b) {}
Или интересует что-то другое?
1
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
10.04.2013, 12:53
Перегруженный оператор который принимает два параметра, один неявный указaтель this и второй - явный объект класса CLASS. Модификатор const в конце объявления свидетельствует о том, что с принимаемые аргументы не будут модифицироваться.

Добавлено через 2 минуты
Ну и совсем очевидно - возвращаемый тип оператора - bool.
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 12:57  [ТС]
Kastaneda, xtorne21st, спасибо

пс: спасибки закончились, поэтому скажу спасибо немного позже
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
10.04.2013, 12:59
Цитата Сообщение от xtorne21st Посмотреть сообщение
Модификатор const в конце объявления свидетельствует о том, что с принимаемые аргументы не будут модифицироваться.
Нет, в этом случае const говорит о том, что в методе не будут меняться члены класса (т.е. объекта *this). Разрешается изменение членов с квалификатором mutable.
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 12:59  [ТС]
Цитата Сообщение от Kastaneda Посмотреть сообщение
Это оператор ==, чтоб можно было делать так
C++
1
2
CLASS a, b;
if (a == b) {}
Или интересует что-то другое?
а что с чем сравнивается? данные в классе?
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
10.04.2013, 13:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
class CLASS
{
    public:
    int int_field;
 
    bool operator== (const CLASS& rhs) const
    {
        return (this->int_field == rhs.int_field);
    }
};
 
int main()
{
    CLASS obj1, obj2;
    obj1.int_field = 10, obj2.int_field = 11;
 
    std::cout << std::boolalpha << (obj1 == obj2) << '\n';
}
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 13:02  [ТС]
Вернее чем могут отличатся два этих обьекта?
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
10.04.2013, 13:03
Цитата Сообщение от programina Посмотреть сообщение
а что с чем сравнивается? данные в классе?
То, что опишите в теле оператора то и будет сравниваться.
1
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
10.04.2013, 13:03
Цитата Сообщение от programina Посмотреть сообщение
а что с чем сравнивается? данные в классе?
что внутри оператора == напишешь, то и будет сравниваться. Можно вообще захардкодить
C++
1
return false;
тогда любое подобное сравнение
C++
1
if (a == b) {}
всегда будет ложно.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 13:05  [ТС]
xtorne21st, спасибо

Добавлено через 55 секунд
Kastaneda, спасибо
0
 Аватар для SummerRain
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
10.04.2013, 13:08
допустим есть класс

C++
1
2
3
4
5
6
7
class human {
    bool sex;  // мужской - true, женский - false (хаха, как же иначе?)
    int age;
    string race;
    language string;
    ...
};
можно сравнить все члены экземпляра класса в этом операторе

C++
1
2
3
bool operator== (const human& h) const {
    return sex == h.sex && age == h.age && race == h.race;
}
но может быть ты считаешь, что все люди равны независимо от пола и цвета кожи (как бы не так!)
и тебя интересует другой критерий равенства.
Ты хочешь разделить людей на низшую и высшую расу по знанию языка программирования:
низшая раса - это Delphi и PHP;
высшая раса - это, естественно, С++;
Поэтому

C++
1
2
3
bool operator== (const human& h) const {
    return language == h.language;  // одинаковый язык - одинаковая раса
}
Ну вот, перегружай как хочешь.
1
10.04.2013, 13:12

Не по теме:

как ты ловко всех поделил

Кликните здесь для просмотра всего текста

0
 Аватар для SummerRain
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
10.04.2013, 13:16
Цитата Сообщение от Kastaneda Посмотреть сообщение
Не по теме:
как ты ловко всех поделил
Кликните здесь для просмотра всего текста

Не по теме:

что за няшка?

1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 13:27  [ТС]
Цитата Сообщение от SummerRain;
но может быть ты считаешь, что все люди равны независимо от пола и цвета кожи
точно!

SummerRain, спасибо за подробный ответ

Добавлено через 8 минут

Не по теме:


Цитата Сообщение от Kastaneda Посмотреть сообщение

Не по теме:

как ты ловко всех поделил

Кликните здесь для просмотра всего текста

:D
— ложись спать.
— не могу, снова кошмар приснится.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2013, 13:27
Помогаю со студенческими работами здесь

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
Что означает ошибка в 8 строчке error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'? ...

const& и const* в имени функции
Объясните пожалуйста что значит const&amp; и const* в имени и параметрах функции(пример из Вандевурд,Джосаттис): template &lt;typename...

int const * const foo(const int* param) const - разъясните значение квалификаторов
int const * const foo(const int* param) const -----1------2----------3----------------4 1: ? 2: делает содержимое массива или...

C2280 "bulb &bulb::operator =(const bulb &)": предпринята попытка ссылки на удаленную функцию
Есть некий класс моей реализации под названием bulb, когда я пытаюсь сделать удаление объектов вектора, то возникает ошибка из заголовка,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru