C++继承中protectted和private两种继承方式的区别

先来回顾一下继承,继承即提高代码的利用率,减少重复性的一种方法。

首先,有两个类,一个叫父类,一个叫子类,父类又叫基类,子类又叫派生类,因为子类中有用到与父类中相同的成员函数或者成员数据,例如,父类为灵长类,子类为猩猩类,人类…他们都有相同的成员数据,如腿长,身高,腰围…为了使代码更加简洁,即避免重复,我们就要用继承。

接下来,看继承的方式,继承分为public,protected,private三种,其实就是子类在得到父类成员(包括成员数据和成员函数)的同时,成员权限的变化,首先,我们要知道父类的私有成员是不可以被继承的,public继承方式权限不变,protected继承方式公有权限和保护权限全都变为保护权限,私有继承方式子类继承的权限全部变为私有权限。

在类外,保护权限和私有权限都不可被访问,都需要一个接口,但是,保护权限可以继续被继承,即可以被儿子继承,儿子如果以public或者protected方式继承,孙子还可以继承儿子…这样,父传子,子传孙,子子代代无穷尽也…

但是,注意了,如果父类中为私有权限的成员,子类是无法继承的;或者,父类为公有权限,但是子类以private继承,那么,孙子同样没有办法继承。

猜你喜欢

转载自blog.csdn.net/myf_666/article/details/114106333
今日推荐