实验重点思考总结:
对于本次实验来说,重点就在于派生类从基类的继承规则和不同的继承方式对访问规则的影响。
首先是继承规则,继承应遵循从严规则,在C++中,访问权限有三种,权限从低到高分别为公有(public)、保护(protected)和私有(private)。举一个简单的例子,在基类中有三个数据A、B、C,访问权限分别是公有、保护和私有,此时若派生类以公有继承基类,则在派生类中,A、B、C三者在派生类中的访问权限分别是公有、保护和私有;若派生类以保护继承基类,则在派生类中,A、B、C三者在派生类中的访问权限分别是保护、保护和私有;若派生类以私有继承基类,则在派生类中,A、B、C三者在派生类中的访问权限分别是私有、私有和私有。
其次是不同的继承方式对访问规则的影响,在这之前首先要区分两种对基类成员不同的访问形式。
①内部访问(派生类内部成员函数对于基类成员的访问规则):这种访问方式不受继承方式的影响,取决于基类中数据原本的访问权限,不管以何种方式继承,派生类只能够直接访问基类中访问规则为public和protected的成员。
②对象访问:(在派生类外部,由对象对从基类继承的成员进行访问):这种访问方式就受到继承方式的影响,只能够访问拥有public类型的成员。