2013-10-12 2 views
-1

가정하자 내가 가진 :액세스는 부모로부터 자식 클래스 속성은

class A and class B 

클래스 B는 클래스 A 자신의 방법에서 상속됩니다. BI의 인스턴스에서 클래스 A의 메소드를 호출하고 싶지만 클래스 A의 메소드가 클래스 B의 호출 인스턴스에 직접 데이터를 읽고 저장하려고합니다 (클래스 B의 속성에서) 달성 방법을 파악할 수 없습니다 이.

+0

B에 유일하게 존재하는 변수에? 그렇다면 그것은 효과가 없을 것입니다. – SinisterMJ

+1

[CRTP] (http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)와 [가상 함수] (http://en.wikipedia.org/wiki/Virtual_function)의 두 가지 옵션을 생각해 볼 수 있습니다. – legends2k

+2

가능한 중복 http://stackoverflow.com/questions/7190952/access-child-members-within-parent-class-c?rq=1 – kfsone

답변

1

클래스 B가 클래스 A에서 파생, 그래서 당신이 실체화 및 클래스 B의 객체 때 만들어

B b = new B() 

& B 점 b에 의해 클래스 B의 객체 클래스 A의 객체 완료,하지만 또한 부모 객체 a (실제로 객체 A를 가리키고 객체 B가 완료 됨)에 전달됩니다. 따라서 b.Amethod()를 호출하면 A.Amember를 수정하면 당연히 b.Amember를 수정합니다. 인스턴스 b와 같은 변수이기 때문입니다.

관련 문제