私有继承成员公有化

来源:互联网 发布:mac xdebug 安装 编辑:程序博客网 时间:2024/05/23 02:04

当私有继承时,基类的所有public成员都变成了private。如果希望他们中的任何一个是可视的,只要用派生类的public选项声明他们就可以了,例如:

class base1{public:char f() const{return 'a';}int g() const{return 2;}float h() const{return 3.0;}};class derived : base1{public:base1::f;base1::h;};int main(){derived d;d.f(); //okd.h(); //okd.g(); //error C2247: 'base1::g' not accessible because 'derived' uses 'private' to inherit from 'base1'}


原创粉丝点击