(四)c++的三种继承方式
c++有三种继承方式,分别是公有继承,私有继承和保护继承。
(1)公有继承
这是最常用的一种继承方式,建立的就是is-a的关系。公有继承中,派生类可以使用基类的公有成员,但不能访问私有成员。公有继承不改变基类的public,protected和private,也就是说基类的私有成员和保护成员仍然是派生类的私有成员(派生类也不能直接访问)和保护成员(派生类可以直接访问),基类的公有成员仍然是公有成员。
(2)私有继承
这种继承方式是很“自私”的,派生类将基类的公有成员和保护成员变成了自己的私有成员,而基类的私有成员当然依然是私有成员(不止外面不能访问,派生类都不可以直接访问)。
(3)保护继承
原先的public变成了protected,protected保持不变。也就是原来基类中公有的成员变成了本类中的保护成员(只有友元,派生类,自己可以访问)。
(4)总结
继承,就是在原有的类的基础上产生了一个新的类,用不同的继承方式来继承,则产生的新的类的访问可见性是不同的,公有,私有,保护继承说的就是基类的数据被派生类继承过来之后,访问权限发生了什么改变,其中,改变最小的就是公有继承(没有改变),改变最大的是私有继承(将公有成员和保护成员全部变成了自己的私有成员)。
网友评论