홍길동 님이 쓰신 글 :
: 이상하게 자꾸 글이 짤리내요 -_-+
:
: 텍스트 파일로 올렸으니 보세요^^;
1. myclass::show()는 int 값을 return합니다.
2. myclass::myclass(int) 생성자가 있습니다.
3. = 연산자가 재정의되어 있으면 그 메서드에 코딩한 대로 되고 재정의 되어 있지 않으면 = 연산자의 우항의 인스턴스 내용을 좌항의 인스턴스가 차지하고 있는 메모리에 복사합니다.
4. = 연산자가 재정의되어 있지 않을 때, = 연산을 하려는데 우항의 형이 좌항과 같지 않으면 우항을 사용하여 좌항의 형에 해당하는 인스턴스를 만들 수 있는지(생성자 또는 형변환) 검사해서 가능하면 그렇게 하여 만든 인스턴스를 좌항이 차지하고 있는 메모리에 복사합니다.
p[i]=ob.show();는 p[i]=myclass(ob.show());와 같이 됩니다.
;이 것은 프로젝트를 디버깅 모드로 빌드한 다음(F4, F7, F8등의 키를 사용해 추적해보면 눈으로 확인 가능합니다.)
- myclass::show()는 x값을 반환합니다.
- myclass::myclass(int n)은 x 값을 n으로 설정합니다.
- myclass에 변수/상수는 x밖에 없습니다.
따라서, p[i]=ob.show();와 p[i]=ob;는 동일한 결과가 나옵니다.
|