不同继承方式的影响主要体现在: 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制。 三种继承方式: 1、公有继承(public) ① 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。 ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象只能访问基类的public成员。 2、私有继承(private) ① 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。 ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象不能访问基类中的任何成员。 3、保护继承(protected) ① ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象不能访问基类中的任何成员。 protected成员的特点与作用: 对建立其所在类对象的模块来说(水平访问时),它与private成员性质相同。对于其派上类来说(垂直访问时),它与public成员的性质相同。既实现了数据隐藏,又方便继承,实现了代码重用。 |