2011-01-31 3 views
103

함수 매개 변수로 기본 클래스를 사용할 수없는 것처럼 보입니다. 상속을 엉망으로 만들었습니까?C++ 상속 - 액세스 할 수없는 기반?

나는 나의 주에 다음과 같은 한 :

int some_ftn(Foo *f) { /* some code */ }; 
Bar b; 
some_ftn(&b); 

그리고 그런 방법으로 푸에서 상속 클래스 바 :

class Bar : Foo 
{ 
public: 
    Bar(); 
    //snip 

private: 
    //snip 
}; 

이 작동하지 않나요를?

class Bar : public Foo 
{ 
    // ... 
} 

C에서 class ++의 기본 상속 유형, 그래서 어떤 publicprotectedprivate이다 : 나는 당신이 할 필요가 내 주요 기능

답변

199

을에 그 전화를 걸 수 있도록하지 않는 것 기본 클래스의 멤버는 private으로 제한됩니다. 반면에 struct 상속은 기본적으로 public입니다.

19

기본적으로 상속은 비공개입니다. 명시 적으로 public을 사용해야합니다 :

class Bar : public Foo

+9

확장하려면 다음'class'에서 상속 private''이다. 'struct'에서 상속은 기본적으로'public'입니다. –

관련 문제