2017-12-26 13 views
-1

이 질문은 중복 된 질문과 다릅니다.객체가없는 다른 클래스의 멤버 함수를 사용하고 정적 인 것을 피하십시오.

2 개의 클래스 A와 B가 있습니다. B에는 변수 b을 사용하는 멤버 함수 B::boy이 있습니다.

A에는 회원 기능이 A::evaluate이고이 회원 기능에는 B::boy을 사용해야합니다. 그것은 비 - 정적 변수 b를 사용할 필요가 있기 때문에

1) B::boy 정적 수 없습니다

이제 문제이다.

2)가 다른 B의 목적을 가지고, 그도 A의 유용한 변수 b 저장하므로 I는 A에 B의 오브젝트를 인스턴스화 할 수

가 C에서 수행하는 것은 불가능하다 ++ ? A::evaluate의 매개 변수로

+2

'A' 개체를 구성 할 때 'B' 개체에 대한 참조를 전달한 다음 나중에 사용할 수 있도록 해당 참조를 저장하는 방법은 무엇입니까? 또는 현재 인스턴스 및 참조 (개체의 수명을 보장) 대신 [공유 포인터] (http://en.cppreference.com/w/cpp/memory/shared_ptr)를 사용하십시오. 아니면 단지'B' 객체를 (아마도 참조로)'A'의 함수에 전달하면됩니까? –

+0

':: :: boy'를'A :: evaluate'에 여러 가지 방법으로 사용할 수 있습니다. 그것은 모두 비 정적 변수'b'가 선언 된 곳에 달려 있습니다. – dasblinkenlight

+0

질문에 완전히 대답하기 위해, 우리는 어떤 코드가 필요합니다 –

답변

0

패스 b 또는 A의 B의 포인터 또는 참조 멤버가 (에 따라 달라 "유용"당신의 A 클래스 b 값).