2009-12-16 5 views
0

여기 제가 직면 한 문제가 있습니다. 해결책이 있습니까?기본 클래스의 참조를 다른 함수로 전달

Class A: public class B 
{ 
// I want to pass a reference of B to Function 
} 

void ClassC::Function(class& B) 
{ 
    //do stuff 
} 
+1

가난하게 표현을하지만, 행간 읽기, 호출 기능을 시도해보십시오 가 this 인스턴스를 전달하려면, 당신은 단순히 전화 것입니다. –

답변

6

방법은 클래스를 선언하는 잘못이다 :

class A : public B // no more class keyword here 
{ 

}; // note the semicolon 

void ClassC::Function(const B &b) // this is how you declare a parameter of type B& 
{ 
} 

당신은 단순히 Function에 유형 A의 개체를 전달해야합니다. 작동 할거야. 파생 된 형식을 원한다면 매개 변수를 const으로 선언하는 것이 좋습니다. 매개 변수로이 *로) (

classCObject.Function(*this); 
1

구문에 문제가 있습니까? 그것은

void ClassC::Function(B& b) 
{ 
    b.DoSomething(); 
} 

b 유형 B의 참조를 만들 수 있어야합니다.

+0

나는이 문제를 해결하기 위해 포인터를이 함수에 전달하고있다. – user233320

관련 문제