关于public private protecetd

来源:互联网 发布:淘宝卫浴 编辑:程序博客网 时间:2024/05/21 14:07

 访问控制:

public修饰的成员变量 在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问private修饰的成员变量 只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏protected是受保护变量   类内和子类可直接访问,也就是说,基类中有protected成员,子类继承于基类,那么也可以访问基类的protected成员,要是基类是private成员,则对于子类也是隐藏的,不可访问


----------------------------------------------------------------------

继承性:

公有继承(public)

        1、基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。

        2、派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。

        3、  通过派生类的对象只能访问基类的public成员。

私有继承(private)

        1、基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问。

        2、派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。

        3、通过派生类的对象不能直接访问基类中的任何成员。

保护继承(protected)

       1、 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问。

        2、派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。 

        3、 通过派生类的对象不能直接访问基类中的任何成员

 

可以用一个表格说明以上问题:

基类中的成员在公有派生类中的访问属性在私有派生类中的访问属性在保护派生类中的访问属性私有成员不可访问不可访问不可访问公有成员公有私有保护保护成员保护私有保护