CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): chaehs (채 흥 석)
날 짜 (Date): 1995년08월02일(수) 11시34분57초 KDT
제 목(Title): [Re] C++에서 멤버 함수..


음..

제가 생각하기로는 object가.. 함수에 대한 포인터를 가지고 있는 것은
아닙니다. (아마 virtual function인 경우에는 그런 것 같지만)

class SomeClass
{
 public:                                             
    int    MemberVar;

 public:
    void   MemberFunc(int);
};

main()
{
    SomeClass   A, B;

    A.MemberFunc (10) ;
}

이런 프로그램이 있으면...

SomeClass A, B ; 에서... SomeClass의 데이타만큼 공간이 할당됩니다.

그리고.. A.MemberFUnc (10)
은 MemberFunc(A의 주소, 10) 이런식으로 됩니다.
마찬가지로 만약 B.MemberFunc (20) 이라면..
MemberFunc(B의 주소, 20) 이런식으로 되지요.

즉.. member function에 대한 호출은( static member function을 제외하고)
implict하게.. this를 인수에 추가해서 호출을 합니다.

그러면.. 호출된 member function은 this를 이용해서.. 어떤 object가 가기를
불렀는 지를 아는 거지요..

도움이 되길.. (근데.. 맞나?)
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.