首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++继承-无法访问的基础?

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

Stack Overflow用户
提问于 2011-01-31 10:19:35
回答 2查看 109.6K关注 0票数 181

我似乎不能使用基类作为函数参数,我是不是搞砸了我的继承?

我的main中包含以下内容:

代码语言:javascript
复制
int some_ftn(Foo *f) { /* some code */ };
Bar b;
some_ftn(&b);

以及从Foo继承的类Bar:

代码语言:javascript
复制
class Bar : Foo
{
public:
    Bar();
    //snip

private:
    //snip
};

这不应该行得通吗?我似乎不能在我的main函数中进行这个调用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-31 10:22:12

你必须这样做:

代码语言:javascript
复制
class Bar : public Foo
{
    // ...
}

C++中class的默认继承类型是private,因此基类中的任何publicprotected成员都被限制为private。另一方面,默认情况下,struct继承是public

票数 323
EN

Stack Overflow用户

发布于 2011-01-31 10:25:05

默认情况下,继承是私有的。您必须显式地使用public

class Bar : public Foo

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4847100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档