C ++ 과부하 할당 연산자

C ++ 컴파일러는 적어도 네 가지 범주의 기능을 추가합니다 :

  • 생성자
  • 소멸자
  • 생성자, 복사 속성의 값을 복사;
  • 할당 연산자 복사 속성의 값;
사용법 #include <iostream>
 사용  스페이스 성병;
클래스 사람 {
 공개 :
    사람 ( INT의 연령) {
        m_Age는 = 새로운  INT (나이);
    }
    INT * m_Age;
    ~ 사람 () {
         경우 (m_Age! = NULL) {
            m_Age을 삭제;
            m_Age = NULL;
        }
    }
    // 이때, 새로운 객체 복사 기능의 사용에 해당하지 않을 경우의 참조를 사용할 필요 
    는 Person & 연산자 = (인격 & P) {
         // 제의 방출이 깨끗하고 깊이가있는 경우, 힙 속성에 존재 하는지를 먼저 결정해야 사본 
        IF (m_Age! = NULL) {
            m_Age을 삭제;
            m_Age = NULL;
        }
        m_Age는 = 새로운  INT (* p.m_Age)를;
        반환 * ;

    }
};
보이드 테스트 () {
    사람 P1 ( 18 );
    사람의 P2 ( 20 );
    사람의 P3 ( 22 );
    P3 = P1 = P2; // 할당 
    COUT << " P1 연령은 : " << * p1.m_Age << ENDL;
    COUT << " P2的年龄是: " << * p2.m_Age << ENDL;
    COUT << " P3的年龄是: " << * p3.m_Age << ENDL;
}


값 int () {메인
    테스트();
    시스템 ( " 정지 " );
    반환  0 ;
}

출력 :

추천

출처www.cnblogs.com/xiximayou/p/12098068.html