C++ 과부하 비교 연산자

C Gwabuha Bigyo Yeonsanja



연산자 오버로딩은 사용자 정의 데이터 유형으로 작업하는 동안 기본 제공 연산자의 기능을 달성할 수 있게 해주는 C++의 중요한 개념입니다. C++의 비교 연산자는 '==', '!=', '>', '<', '>=' 및 '<='와 같이 두 값을 서로 비교하는 연산자입니다. 이 기사에서는 Ubuntu 20.04의 C++에서 이러한 비교 연산자 6개를 모두 오버로드하는 방법을 공유합니다.

예제 # 1: C++에서 '==' 연산자 오버로딩:

C++에서 '==' 연산자를 오버로드하기 위해 다음 C++ 클래스를 설계했습니다.







C++ 클래스의 이름은 ProductPrice입니다. 이 클래스에는 개인 멤버 '가격'이 있습니다. 그 후, 일부 public 멤버 함수가 있습니다. 'userInput'이라는 이름의 첫 번째 함수는 제품 가격을 사용자의 입력으로 사용합니다. 그런 다음 C++에서 '==' 연산자를 오버로드하는 함수가 있습니다. ProductPrice 클래스의 개체를 이 함수에 전달했습니다. 이 함수에는 두 제품의 가격이 같으면 'true'를 반환하고 그렇지 않으면 'false'를 반환하는 'if' 문이 있습니다.



이를 테스트하기 위해 아래 이미지에 표시된 드라이버 기능이 있습니다.







'main()' 함수에서 먼저 클래스의 두 개체를 만들었습니다. 그런 다음 두 제품의 가격을 사용자의 입력으로 가져오기 위해 두 개체 각각에 대해 'userInput' 함수를 하나씩 호출했습니다. 그런 다음 두 가격이 같으면 메시지를 인쇄하고 그렇지 않으면 다른 메시지를 인쇄하는 'if' 문이 있습니다.

다음 명령을 사용하여 이 프로그램을 컴파일했습니다.



$ 지++ ComparisonOperator.cpp -o ComparisonOperator

그런 다음 아래 표시된 명령을 사용하여 실행했습니다.

$ . / 비교 연산자

이 코드를 실행하면 다음 이미지와 같이 첫 번째 제품의 가격을 입력하라는 요청을 받았습니다.

그런 다음 아래 이미지와 같이 두 번째 제품의 가격을 입력하라는 요청을 받았습니다.

두 제품에 대해 동일한 가격을 입력했으므로 다음 출력에서 ​​'==' 연산자가 성공적으로 오버로드되었음을 확인할 수 있습니다.

이제 'else' 문을 테스트하기 위해 아래 이미지와 같이 두 가지 제품 가격을 입력했습니다.

예제 # 2: C++에서 '!=' 연산자 오버로딩:

C++에서 '!=' 연산자를 오버로드하기 위해 다음 C++ 클래스를 설계했습니다.

이 프로그램은 첫 번째 예제와 매우 유사합니다. 유일한 차이점은 모든 곳에서 '==' 연산자를 '!=' 연산자로 대체했다는 것입니다.

이를 테스트하기 위해 아래 이미지에 표시된 드라이버 기능이 있습니다.

우리는 'main()' 함수에서 'userInput' 함수를 두 개체 각각에 하나씩 호출하여 두 제품의 가격을 사용자의 입력으로 가져왔습니다. 그 다음에는 두 가격이 같지 않으면 메시지를 출력하고 같으면 다른 메시지를 출력하는 'if' 문이 있습니다.

두 가지 제품 가격으로 이 코드를 실행했을 때 다음 이미지에서 볼 수 있듯이 불평등 연산자가 성공적으로 오버로드되었음을 알아냈습니다.

이제 'else' 문에 대해 테스트하기 위해 아래 이미지와 같이 두 개의 유사한 제품 가격을 입력했습니다.

예제 # 3: C++에서 '>' 연산자 오버로딩:

C++에서 '>' 연산자를 오버로드하기 위해 다음 C++ 클래스를 설계했습니다.

이 프로그램도 위의 예제와 유사합니다. 유일한 차이점은 모든 곳에서 '!=' 연산자를 '>' 연산자로 대체했다는 것입니다.

이를 테스트하기 위해 아래 이미지에 표시된 드라이버 기능이 있습니다.

우리는 'main()' 함수에서 'userInput' 함수를 두 개체 각각에 하나씩 호출하여 두 제품의 가격을 사용자의 입력으로 가져왔습니다. 그런 다음 첫 번째 가격이 다른 가격보다 높으면 메시지를 인쇄하고 그렇지 않으면 다른 메시지를 인쇄하는 'if' 문이 있습니다.

두 가지 다른 제품 가격으로 이 코드를 실행했을 때 다음 이미지에서 볼 수 있듯이 보다 큼 연산자가 성공적으로 오버로드되었음을 알아냈습니다.

이제 'else' 문에 대해 테스트하기 위해 아래 이미지와 같이 두 개의 유사한 제품 가격을 입력했습니다.

예제 # 4: C++에서 '<' 연산자 오버로딩:

C++에서 '<' 연산자를 오버로드하기 위해 다음 C++ 클래스를 설계했습니다.

이 프로그램도 위의 예제와 유사합니다. 유일한 차이점은 모든 곳에서 '>' 연산자를 '<' 연산자로 대체했다는 것입니다.

이를 테스트하기 위해 아래 이미지에 표시된 드라이버 기능이 있습니다.

우리는 'main()' 함수에서 'userInput' 함수를 두 개체 각각에 하나씩 호출하여 두 제품의 가격을 사용자의 입력으로 가져왔습니다. 그런 다음 첫 번째 가격이 다른 가격보다 낮으면 메시지를 인쇄하고 그렇지 않은 경우 다른 메시지를 인쇄하는 'if' 문이 있습니다.

두 가지 제품 가격으로 이 코드를 실행했을 때 다음 이미지에서 볼 수 있듯이 보다 작음 연산자가 성공적으로 오버로드되었음을 알아냈습니다.

이제 'else' 문을 테스트하기 위해 두 개의 다른 제품 가격을 다시 입력했지만 이번에는 아래 이미지와 같이 첫 번째 제품의 가격이 두 번째 제품보다 큽니다.

예제 # 5: C++에서 '>=' 연산자 오버로딩:

C++에서 '>=' 연산자를 오버로드하기 위해 다음 C++ 클래스를 설계했습니다.

이것은 위의 예와 약간 다릅니다. 이번에 연산자를 오버로드하는 동안 '||'로 구분된 'if' 문 내에 두 가지 조건이 있습니다. 상징. 이는 이 문이 제품의 가격이 다른 제품보다 크거나 같은지 확인한다는 의미입니다.

이를 테스트하기 위해 아래 이미지에 표시된 드라이버 기능이 있습니다.

우리는 'main()' 함수에서 'userInput' 함수를 두 개체 각각에 하나씩 호출하여 두 제품의 가격을 사용자의 입력으로 가져왔습니다. 그런 다음 첫 번째 가격이 다른 가격보다 크거나 같으면 메시지를 인쇄하고 그렇지 않으면 다른 메시지를 인쇄하는 'if' 문이 있습니다.

두 가지 제품 가격으로 이 코드를 실행했을 때 다음 이미지에서 볼 수 있듯이 크거나 같음 연산자가 성공적으로 오버로드되었음을 알아냈습니다.

이제 'else' 문을 테스트하기 위해 아래 이미지와 같이 첫 번째 제품 가격을 두 번째 제품 가격보다 낮게 입력했습니다.

예제 # 6: C++에서 “<=” 연산자 오버로딩:

다섯 번째 예제와 동일한 방법에 따라 “<=” 연산자도 오버로드했으며 해당 코드는 다음과 같습니다.

다른 값을 가진 이 프로그램의 실행 결과는 아래 이미지에 표시됩니다.

결론:

이 기사는 Ubuntu 20.04의 C++에서 6개의 비교 연산자를 오버로드하는 방법을 매우 잘 설명했습니다. 연산자 오버로딩에 대한 간략한 소개부터 시작한 다음 C++의 6개 비교 연산자가 모두 오버로드되었습니다. 이러한 모든 방법을 보여주기 위해 동일한 사용자 정의 클래스를 사용했습니다. 이러한 메서드를 살펴보고 나면 다른 사용자 정의 클래스에 대해 이러한 비교 연산자를 오버로드할 수 있습니다.