目录
前言
作用:为了保护类的成员,C++提供了三种类的成员访问修饰符public(公共)、protected(受保护)、private(私有)
一、访问范围
1.public(公共):
用户把变量或者是函数放置在类的public下,那么这些变量和函数就具有公共的属性 在public下的成员对于整个类都是可见的
在public下的成员对于类体外也是可见的
在public下的成员对于友元函数也是可见的
在public下的成员对于派生类(子类)也是可见的 如果在类里面没有写任何的类的成员访问修饰符,那么该类下的成员都是归于private属性下。一般将成员变量放置到private属性下
2.private(私有):
用户把变量或者是函数放置在类的private下,那么这些变量和函数就具有私有属性
在private下的成员对于整个类都是可见的
在private下的成员对于类的外部是不可见的
在private下的成员对于友元函数是可见的
在private下的成员对于派生类(子类)是不可见的
3.protected(受保护):
用户把变量或者是函数放置在类的protected下,那么这些变量和函数就具有保护属性
在protected下的成员对于整个类都是可见的
在protected下的成员对于类的外部是不可见的
在protected下的成员对于友元函数是可见的
在protected下的成员对于派生类(子类)是可见的
二、继承的权限
C++提供了继承的权限:public、private、protected,目的是对继承加以限制
1.public继承:
父类的public下的成员就全部继承到子类的public属性下
父类的protected下的成员变量是继承到子类的protected属性下,父类的protected下的成员函数没有继承到子类
父类的private下的成员是没有继承到子类的private属性下
public(子类) | protected(子类) | private(子类) | |
public(父类) | public | ||
protected(父类) | protected(成员变量) | ||
private(父类) | / |
2.protected继承:
父类的public下的成员就全部继承到子类的protected属性下
父类的protected属性下的成员全部继承到子类的protected属性下
父类的private下的成员是没有继承到子类的private属性下
public(子类) | protected(子类) | private(子类) | |
public(父类) | public | ||
protected(父类) | protected | ||
private(父类) | / |
3.private继承:
父类的public下的成员就全部继承到子类的private属性下
父类的protected属性下的成员全部继承到子类的private属性下
父类的private下的成员是没有继承到子类的private属性下
public(子类) | protected(子类) | private(子类) | |
public(父类) | public | ||
protected(父类) | protected | ||
private(父类) | / |