我有,我有包装的一些遗留代码,我也碰到过这样的声明:C++的默认继承访问说明符?
class Foo : Bar
{
// ...
};
这似乎下GCC编译。我知道这很糟糕,但我无法改变它。我的问题是,如果没有继承访问说明符存在,C++编译器如何处理它?
我有,我有包装的一些遗留代码,我也碰到过这样的声明:C++的默认继承访问说明符?
class Foo : Bar
{
// ...
};
这似乎下GCC编译。我知道这很糟糕,但我无法改变它。我的问题是,如果没有继承访问说明符存在,C++编译器如何处理它?
顺便说一句,它不被称为访问修饰符。这就是所谓的访问指示符
$ 11.2/2 - “在没有 访问说明符为基类的,当派生 类与类密钥 struct和私人定义假定 公共是在 类用类关键字 类定义的情况下被假定的。“
在你的背景下,“酒吧”是一个私人的基类的“富”
这是private
。
对于课程,默认为private
。
对于结构体,默认值为public
。
其实,我想说,这是*不*坏。我会冗余地指定访问说明符不好。 – 2010-10-19 03:16:50
[Default class inheritance access]的可能重复(http://stackoverflow.com/questions/3811424/default-class-inheritance-access) – 2010-10-19 12:40:11