1.比较类的三种继承方式public(公有继承)、protected(保护继承)、private(私有继承)之间的差别
不同的继承方式,导致不同访问属性的基类成员在派生类中的访问属性也有所不同:
公有继承,使得基类public(公有)和protected(保护)成员的访问属性在派生类中不变,而基类private(私有)成员不可访问。
私有继承,使得基类public和protected成员都以private成员身份出现在派生类中,而基类private(私有)成员不可访问。
保护继承,使得基类public和protected成员都以protected成员身份出现在派生类中,而基类private(私有)成员不可访问。
2.派生类构造函数执行的次序是怎样的?
执行的一般次序为:调用基类构造函数;调用成员对象的构造函数;调用派生类的构造函数体中的内容。
3.什么叫虚基类?它有何作用?
当某类的部分或全部直接基类是从另一个基类派生而来,这些直接基类中,从上一级基类继承来的成员就拥有相同的名称,派生类的对象的这些同名成员在内存中同时拥有多个拷贝,我们可以使用作用域分辨符来唯一标识并分别访问它们。我们也可以将直接基类的共同基类设置为虚基类,这时从不同的路径继承过来的该类成员在内存中只拥有一个拷贝,这样就解决了同名成员的唯一标识。