jdtt 2020-05-24 12:27 采纳率: 66.7%
浏览 467
已采纳

为什么派生类可以访问基类的保护成员而派生类对象却不可以呢?

派生类对基类的访问和派生类对象对基类的访问有什么区别
三十字三十字三十字三十字三十

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-24 13:12
    关注

    因为封装性,对象也可以访问,但是必须是在类或者友元函数函数内。
    这么做的好处就是,避免一个类暴露过多的内容给调用者,造成耦合。

    class A
    {
    protected:
    int xxx;
    public:
    void foo1()
    {
    A a;
    a.xxx; //这个可以
    }
    };
    void foo2()
    {
    A a;
    a.xxx; //这个不可以
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?