private这个关键词是C++中出现的,因此这篇文章应当对应的是C++的语法总结
众所周知,在类声明中,默认的访问修饰符是private,例如:
class Foo
{
int m_iData; //默认为private私有成员
public:
Foo(int iData);
int GetData(void) const;
};
那么这个默认的private规则还有其他的适用场景吗?
有,在类的继承声明中。例如:
class Foo
{
public:
Foo(void);
~Foo(void);
};
class Bar : Foo //默认为private私有继承
{
public:
Bar(void);
~Bar(void);
};
这里,默认Bar从Foo类以private的方式继承
这个地方比较容易忽略,有两个原因:
1.私有继承使用场景少,有不少C++书籍中甚至不推荐使用这种继承方式;
2.基于上一原因,导致由于笔误漏写的情况下(特别是在进行代码重构的时候),导致编译错误。