访问控制:
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、 通过派生类的对象不能直接访问基类中的任何成员
可以用一个表格说明以上问题:
基类中的成员 | 在公有派生类中的访问属性 | 在私有派生类中的访问属性 | 在保护派生类中的访问属性 |
---|---|---|---|
私有成员 | 不可访问 | 不可访问 | 不可访问 |
公有成员 | 公有 | 私有 | 保护 |
保护成员 | 保护 | 私有 | 保护 |