C++에서 입력 및 출력 스트림 삽입 연산자 오버로드
C++에서 연산자 오버로딩을 수행할 수 있습니다. 이 문서는 입력 및 출력 스트림 삽입 연산자에 관한 것입니다.
연산자는 C++에서 표현식을 만드는 방법입니다. 이를 오버로드할 수 있습니다. 즉, 연산자에 대한 새로운 의미를 정의할 수 있습니다.
입력 및 출력 스트림 삽입 연산자는 파일에서 정보를 읽거나 씁니다. C++에서 스트림 삽입 연산자 <<
는 출력에 사용되고 >>
는 입력에 사용됩니다.
이러한 연산자의 오버로드를 시작하기 전에 먼저 이러한 점을 이해해야 합니다. cin
및 cout
는 istream
및 ostream
클래스의 개체입니다.
전역 함수로서 이러한 연산자는 오버로드되어야 합니다. 그리고 클래스 멤버의 개인 정보에 액세스할 수 있도록 하려면 친구로 추가해야 합니다.
연산자 오버로딩의 경우 연산자의 왼쪽에 있는 개체가 멤버로 오버로드된 경우 연산자를 포함해야 한다는 점에 유의하는 것이 중요합니다.
입력 및 출력 스트림 삽입 연산자의 사용
다음은 입력 및 출력 스트림 삽입 연산자의 사용입니다.
- 프로그램에 입력 데이터를 삽입합니다.
- 출력 데이터를 프로그램에 삽입합니다.
- 한 프로세스에서 다른 프로세스로 데이터를 전달하는 데 사용할 수 있는 파이프를 만듭니다.
C++에서 입력 및 출력 스트림 삽입 연산자를 오버로드하는 단계
C++에서 입력 및 출력 스트림 삽입 연산자를 오버로드하려면 다음 단계를 따를 수 있습니다.
-
두 개의 공개 데이터 멤버인 입력 및 출력 스트림이 있는 클래스를 만듭니다.
-
두 개의 공개 함수, 즉 출력
operator<<()
와 입력operator>>()
를 작성하십시오. -
두 함수에서
getline()
을 사용하여 입력 문자열의 각 문자를 반복하는 루프를 만들고putchar()
를 사용하여 출력 문자열에 삽입합니다. -
두 함수 모두
return 0;
을 사용합니다. 프로그램을 종료합니다.
예를 들어 보겠습니다.
#include <iostream>
using namespace std;
class Demo {
private:
int x;
int y;
public:
Demo() {
x = 0;
y = 0;
}
Demo(int x1, int y1) {
x = x1;
y = y1;
}
friend ostream &operator<<(ostream &output, const Demo &S) {
output << "x1 : " << S.x << " y1 : " << S.y;
return output;
}
};
int main() {
Demo S1(6, 2), S2(3, 19);
cout << "1st Value : " << S1 << endl;
cout << "2nd Value : " << S2 << endl;
return 0;
}
출력:
1st Value : x1 : 6 y1 : 2
2nd Value : x1 : 3 y1 : 19
여기를 클릭 위에서 언급한 코드의 작동을 확인하십시오.
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook