>백엔드 개발 >C++ >연산자 오버로딩을 사용하여 사용자 정의 C 클래스에서 값을 출력하려면 어떻게 해야 합니까?

연산자 오버로딩을 사용하여 사용자 정의 C 클래스에서 값을 출력하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-29 20:15:10991검색

How Can I Output Values from Custom C   Classes Using Operator Overloading?

사용자 정의 클래스에서 값 출력: 연산자 활용<< 오버로딩

사용자 정의 C 클래스를 처리할 때 해당 값을 콘솔에 직접 출력하는 것은 어려울 수 있습니다. 이 문제를 해결하기 위해 연산자<< 원하는 출력 형식을 얻기 위해 오버로드합니다.

"myclass"라는 사용자 정의 클래스를 고려해보세요. cout <<를 사용하여 이 클래스의 인스턴스를 출력하려고 하면 x에서는 콘솔에 의미 없는 주소나 기본값이 표시될 수 있습니다. 출력을 사용자 정의하려면 연산자<<

예는 다음과 같습니다.

struct myclass {
    int i;
};

std::ostream &operator<<(std::ostream &os, myclass const &m) {
    return os << m.i;
}

int main() {
    myclass x(10);

    std::cout << x;
    return 0;
}

이 예에서는 오버로드된 연산자<< myclass 유형에 대해 정의됩니다. cout이 myclass 객체로 호출되면(cout << x에서와 같이) 오버로드된 연산자<< 함수는 원하는 출력을 가진 ostream을 반환합니다. 이 경우 myclass 객체에서 정수 값 i를 추출하여 콘솔에 출력합니다.

이를 통해 사용자 정의 클래스에서 정수 또는 부동 소수점 값과 같은 의미 있는 값을 출력할 수 있습니다. 클래스 자체가 그러한 출력을 직접 지원하지 않더라도

위 내용은 연산자 오버로딩을 사용하여 사용자 정의 C 클래스에서 값을 출력하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.