Оператор сравнения перегрузки C++ в

Operator Sravnenia Peregruzki C V



Перегрузка операторов — ключевая концепция C++, позволяющая реализовать функциональность встроенных операторов при работе с пользовательскими типами данных. Операторы сравнения в C++ предназначены для сравнения двух значений друг с другом, таких как «==», «!=», «>», «<», «>=» и «<=». В этой статье мы расскажем о методах перегрузки всех шести этих операторов сравнения в C++ в Ubuntu 20.04.

Пример № 1: Перегрузка оператора «==» в C++:

Для перегрузки оператора «==» в C++ мы разработали следующий класс C++:







Имя нашего класса C++ — ProductPrice. Внутри этого класса у нас есть закрытый член «цена». После этого у нас есть несколько открытых функций-членов. Первая функция, названная «userInput», принимает цену продукта в качестве входных данных от пользователя. Затем у нас есть функция для перегрузки оператора «==» в C++. В эту функцию мы передали объект класса ProductPrice. Внутри этой функции у нас есть оператор «если», который возвращает «истину», если цены на два продукта равны, в противном случае — «ложь».



Чтобы проверить это, у нас есть функция драйвера, показанная на изображении ниже:







В нашей функции «main()» мы сначала создали два объекта нашего класса. Затем мы вызвали функцию «userInput» с каждым из двух объектов один за другим, чтобы получить цены на два продукта в качестве входных данных от пользователя. После этого у нас есть оператор «если», чтобы напечатать сообщение, если две цены равны, и другое сообщение, если нет.

Мы скомпилировали эту программу, используя следующую команду:



$ г++ ComparisonOperator.cpp –o ComparisonOperator

Затем мы выполнили его с помощью команды, показанной ниже:

$ . / Оператор сравнения

После выполнения этого кода нас попросили ввести цену первого продукта, как показано на следующем изображении:

Затем нас попросили ввести цену второго продукта, как показано на изображении ниже:

Поскольку мы ввели одинаковые цены для обоих продуктов, в следующем выводе мы видим, что наш оператор «==» был успешно перегружен.

Теперь, чтобы проверить это для оператора «else», мы ввели две разные цены продукта, как показано на изображении ниже:

Пример № 2: Перегрузка оператора «!=» в C++:

Для перегрузки оператора «!=» в C++ мы разработали следующий класс C++:

Эта программа очень похожа на наш первый пример. Разница лишь в том, что мы везде заменили оператор «==» оператором «!=».

Чтобы проверить это, у нас есть функция драйвера, показанная на изображении ниже:

Мы вызвали функцию «userInput» в нашей функции «main()» с каждым из двух объектов один за другим, чтобы получить цены двух продуктов в качестве входных данных от пользователя. После этого у нас есть оператор «если», чтобы напечатать сообщение, если две цены не равны, и другое сообщение, если они равны.

Когда мы выполнили этот код с двумя разными ценами на товары, мы выяснили, что наш оператор неравенства был успешно перегружен, как вы можете видеть на следующем изображении:

Теперь, чтобы проверить его на наличие оператора «else», мы ввели две одинаковые цены продукта, как показано на изображении ниже:

Пример № 3: Перегрузка оператора «>» в ​​C++:

Для перегрузки оператора «>» в ​​C++ мы разработали следующий класс C++:

Эта программа также похожа на наши примеры выше. Разница лишь в том, что мы везде заменили оператор «!=» оператором «>».

Чтобы проверить это, у нас есть функция драйвера, показанная на изображении ниже:

Мы вызвали функцию «userInput» в нашей функции «main()» с каждым из двух объектов один за другим, чтобы получить цены двух продуктов в качестве входных данных от пользователя. После этого у нас есть оператор «если», чтобы напечатать сообщение, если первая цена больше другой, и другое сообщение, если нет.

Когда мы выполнили этот код с двумя разными ценами на товары, мы выяснили, что наш оператор «больше чем» был успешно перегружен, как вы можете видеть на следующем изображении:

Теперь, чтобы проверить его на наличие оператора «else», мы ввели две одинаковые цены продукта, как показано на изображении ниже:

Пример № 4: Перегрузка оператора «<» в C++:

Для перегрузки оператора «<» в C++ мы разработали следующий класс C++:

Эта программа также похожа на наши примеры выше. Разница лишь в том, что мы везде заменили оператор «>» оператором «<».

Чтобы проверить это, у нас есть функция драйвера, показанная на изображении ниже:

Мы вызвали функцию «userInput» в нашей функции «main()» с каждым из двух объектов один за другим, чтобы получить цены двух продуктов в качестве входных данных от пользователя. После этого у нас есть оператор «если», чтобы напечатать сообщение, если первая цена меньше другой, и другое сообщение, если нет.

Когда мы выполнили этот код с двумя разными ценами на товары, мы выяснили, что наш оператор «меньше чем» был успешно перегружен, как вы можете видеть на следующем изображении:

Теперь, чтобы проверить его на наличие оператора «else», мы снова ввели две разные цены продукта, но на этот раз цена первого продукта больше, чем цена второго, как показано на изображении ниже:

Пример № 5: Перегрузка оператора «>=» в C++:

Для перегрузки оператора «>=» в C++ мы разработали следующий класс C++:

Это немного отличается от наших примеров выше. На этот раз при перегрузке оператора у нас есть два условия в операторе «if», разделенные знаком «||». символ. Это означает, что этот оператор будет проверять, является ли цена одного продукта больше или равной другой.

Чтобы проверить это, у нас есть функция драйвера, показанная на изображении ниже:

Мы вызвали функцию «userInput» в нашей функции «main()» с каждым из двух объектов один за другим, чтобы получить цены двух продуктов в качестве входных данных от пользователя. После этого у нас есть оператор «если», чтобы напечатать сообщение, если первая цена больше или равна другой, и другое сообщение, если нет.

Когда мы выполнили этот код с двумя разными ценами на товары, мы выяснили, что наш оператор больше или равно был успешно перегружен, как вы можете видеть на следующем изображении:

Теперь, чтобы проверить это для оператора «else», мы ввели цену первого продукта меньше, чем вторую, как показано на изображении ниже:

Пример № 6: Перегрузка оператора «<=» в C++:

Следуя тому же методу, что и в нашем пятом примере, мы также перегрузили оператор «<=», и его код выглядит следующим образом:

Результаты выполнения этой программы с разными значениями показаны на изображениях ниже:

Вывод:

В этой статье очень хорошо объясняется, как можно перегрузить шесть операторов сравнения в C++ в Ubuntu 20.04. Мы начали с краткого введения в перегрузку операторов, затем были перегружены все шесть операторов сравнения в C++. Мы использовали один и тот же определяемый пользователем класс для демонстрации всех этих методов. Как только вы пройдете эти методы, вы сможете перегрузить эти операторы сравнения для любого другого пользовательского класса.