기본 클래스를 함수 매개 변수로 사용할 수없는 것 같습니다. 상속을 엉망으로 만들었습니까?
나는 내 주에 다음이 있습니다.
int some_ftn(Foo *f) { /* some code */ };
Bar b;
some_ftn(&b);
그리고 클래스 Bar는 다음과 같은 방식으로 Foo에서 상속됩니다.
class Bar : Foo
{
public:
Bar();
//snip
private:
//snip
};
이것이 작동하지 않습니까? 내 주요 기능에서 그 전화를 걸 수없는 것 같습니다
답변
이 작업을 수행해야합니다.
class Bar : public Foo
{
// ...
}
a의 기본 상속 형 class
C ++에서는 private
어떤 있도록 public
하고 protected
기본 클래스의 멤버가 제한됩니다 private
. struct
반면에 상속은 public
기본적으로입니다.
답변
기본적으로 상속은 비공개입니다. 명시 적으로 사용해야합니다 public
.
class Bar : public Foo