class degree 와 같이 선언되어 있다면 그 class의 object를 아래와 같이
생성할 수 있습니다.
degree gatdo;
이렇게 되면 class degree의 형식을 가지는 하나의 object가 생성되고 그 object
는 일정 메모리를 점유하게 됩니다.
this pointer는 바로 생성된 object의 첫 주소를 가집니다. 그래서
this->numerator;
this->denominator;
와 같이 사용될 수 있습니다.
그리고 *this라고 하면 object 자신의 모든 내용(*)을 전달하고자 할 때 사용합니다.
그런데 아래의 예제 잘못된거 아닌가요? 참조 연산자(&)를 반환형으로 할 때 this 라고
해야 - *this 가 아니고 - 하는거 아닌가요? -.-a 제가 c++ 전문적으로 다뤄본지 오래
되어서 기억이 잘 나지 않는군요.
김진수 님이 쓰신 글 :
: //----------------------------------------
:
: class degree
: {
: private:
: double numerator;
: double denominator;
:
: public:
: ......
:
: }
:
:
: //배정 연산자의 중복
: degree& operator=( const degree& copyfrom )
: {
: numerator = copyfrom.numerator;
: denominator = copyfrom.denominator;
: return *this;
: }
:
: 1.예제 메인함수 부분에 이걸 사용하지를 않아서 어떻게 되는지 모르겟습니다...
: *this 가 가리키는 것은 어떤곳인가요?
:
: 2. 간단한 예제를 쓰고 설명해주시면 정말 감사
|