抽象基类与访问控制
抽象基类
在虚函数声明语句后面添加=0定义纯虚函数,之后不能在类内为纯虚函数提供定义。
含义纯虚函数的类是抽象基类,不能直接创建一个抽象基类的对象。
派生类构造函数只初始化它的直接基类。
访问控制与继承
protected 成员是”继承可见”的,但必须通过”自己继承来的一份”去访问;继承方式则控制”你能不能把你继承来的成员继续公开给外部或子类”。
Protected成员访问规则
protected成员只能被派生类和友元函数访问,不能被类外部访问。
子类及其友元只能通过自己的类对象访问自己继承来的父类protected成员,不能直接通过父类对象访问原先父类对象中的 protected 成员。
友元关系
友元关系不能传递也不能继承。
继承方式与访问权限
派生类的继承方式决定了外部对象对派生类成员的访问权限。
修改访问权限
using声明可以改变个别成员的可访问性。
class与struct的区别
用class定义的派生类默认私有继承,struct定义的派生类默认公有继承。
这是这两个关键字的唯一区别。
评论