本文共 665 字,大约阅读时间需要 2 分钟。
首先在基类中,如果是private修饰的成员和函数,肯定是不能被派生类所继承。
而public和protected修饰的部分可以被继承。
一般情况下,默认是public继承,当派生类继承基类之后,继承的public部分属性仍是public,继承的protected部分属性仍然是pro.
如果是私有继承,继承之后,首先,基类中的private的部分仍然拿不到,拿到的public和pro部分属性变成private.
如果是保护继承,继承之后,拿到的public和pro部分属性变成pro.
转载来源:
C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。
struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗? 能!!!既然这些它都能实现,那它和class还能有什么区别?
最本质的一个区别就是默认的访问控制:
默认的继承访问权限
继承上来说,struct是public的,class是private的。
你可以写如下的代码: struct A { char a; }; struct B : A { char b; };这个时候B是public继承A的。
如果都将上面的struct改成class,那么B是private继承A的。这就是默认的继承访问权限。
所以我们在平时写类继承的时候,通常会这样写:
class B : public A就是为了指明是public继承,而不是用默认的private继承。