抽象基类

在虚函数声明语句后面添加=0定义纯虚函数,之后不能在类内为纯虚函数提供定义。

含义纯虚函数的类是抽象基类,不能直接创建一个抽象基类的对象。

派生类构造函数只初始化它的直接基类。

访问控制与继承

protected 成员是”继承可见”的,但必须通过”自己继承来的一份”去访问;继承方式则控制”你能不能把你继承来的成员继续公开给外部或子类”。

Protected成员访问规则

protected成员只能被派生类和友元函数访问,不能被类外部访问。

子类及其友元只能通过自己的类对象访问自己继承来的父类protected成员,不能直接通过父类对象访问原先父类对象中的 protected 成员。

友元关系

友元关系不能传递也不能继承。

继承方式与访问权限

派生类的继承方式决定了外部对象对派生类成员的访问权限。

修改访问权限

using声明可以改变个别成员的可访问性。

class与struct的区别

用class定义的派生类默认私有继承,struct定义的派生类默认公有继承。

这是这两个关键字的唯一区别。