小编典典

C ++继承 - 无法访问的基础?

all

我似乎无法将基类用作函数参数,我是否搞砸了我的继承?

我的主要内容如下:

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

并且类 Bar 以这种方式从 Foo 继承:

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

private:
    //snip
};

这不应该工作吗?我似乎无法在我的主要功能中进行该调用


阅读 101

收藏
2022-07-30

共1个答案

小编典典

你必须这样做:

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

classC++中 a 的默认继承类型是private,因此基类中的 anypublicprotected成员仅限于private.
struct另一方面public,默认情况下是继承。

2022-07-30