2013-04-30 2 views
0

내가 아주 간단한 기본 클래스/파생 클래스의 시나리오를 기반으로하는 파생 변환 할 수 없습니다. 왜 그 이유를 설명 할 수 있습니까? gdbChannel은 명시 적으로 BaseChannel 인스턴스이므로 캐스트가 필요하지 않습니다. gdbChannelBaseChannel에서 파생 public 상속을 사용하지 않기 때문에이다C++는 클래스가

답변

8

은 (class 유형에 대한 기본값은 private입니다). 공공 상속 당신이 표현하고 싶었던 경우

, 단지 쓰기 :

class gdbChannel : public BaseChannel{ 
//     ^^^^^^ 
public: 
    void SayBoo(bool SelectAll) {if (SelectAll) cout<<"boo";} 
}; 
+0

와우, 즉 빠른했다! 이 예제는 분명히 파생되었지만 주 예제에서이 예제를 시도해 보았습니다. thanks @Andy – marcp

+0

@marcp : 도와 줘서 고맙습니다. :) –