"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C++에서 가상 연산자 오버로딩을 구현하는 방법은 무엇입니까?

C++에서 가상 연산자 오버로딩을 구현하는 방법은 무엇입니까?

2024-11-02에 게시됨
검색:371

 How to Implement Virtual Operator Overloading in C  ?

가상 연산자 오버로딩

배경

C에서는 사용자 정의 데이터 유형에 대해 연산자를 오버로드하여 맞춤형 동작을 제공할 수 있습니다. 그러나 다형성 동작을 허용하는 가상 메서드는 연산자 오버로드에 직접 사용할 수 없습니다.

문제

광고 클래스에 대한 인쇄를 사용자 정의하기 위해 가상 연산자

해결책: 간접 참조

이 제한을 우회하려면 연산자

class Advertising {
public:
    virtual void print(ostream& os) const;
};

ostream& operator

이 접근 방식에서는 인쇄 동작을 사용자 정의하기 위해 서브클래스에서 인쇄 멤버 함수를 재정의할 수 있으며,

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3