다음을 통해 공유


오버 로드는 << 자신의 클래스에 대 한 연산자

출력 스트림을 사용 하 여 삽입 (<<) 표준 형식에 대 한 연산자입니다.오버 로드할 수 있습니다 해당 << 클래스에 대 한 연산자입니다.

예제

write 보여 주었습니다 사용 하는 함수 예제는 Date 구조입니다.날짜는 데이터 멤버 (월, 일 및 연도) 보기에서 숨겨져 있는 C++ 클래스에 대 한 것이 좋습니다.출력 스트림을 표시 하는 이러한 구조에 대 한 논리적 대상입니다.이 코드를 사용 하 여 날짜 표시는 cout 개체:

Date dt( 1, 2, 92 );
cout << dt;

얻을 수 cout 수락 하는 Date 개체 삽입 연산자 다음을 인식 하도록 삽입 연산자를 오버 로드는 ostream 왼쪽에 있는 개체와는 Date 오른쪽.오버 로드 된 << 연산자 함수가 클래스의 friend로 선언 해야 합니다 다음 Date 내 개인 데이터에 액세스할 수 있도록 한 Date 개체입니다.

// overload_date.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

class Date
{
    int mo, da, yr;
public:
    Date(int m, int d, int y)
    {
        mo = m; da = d; yr = y;
    }
    friend ostream& operator<<(ostream& os, const Date& dt);
};

ostream& operator<<(ostream& os, const Date& dt)
{
    os << dt.mo << '/' << dt.da << '/' << dt.yr;
    return os;
}

int main()
{
    Date dt(5, 6, 92);
    cout << dt;
}
  

설명

오버 로드 된 연산자에 대 한 참조를 원래 반환 ostream 삽입 결합을 의미 하는 개체:

cout << "The date is" << dt << flush;

참고 항목

참조

출력 스트림