C++基础2

来源:互联网 发布:广州凶宅数据库 编辑:程序博客网 时间:2024/05/20 07:57

派生类与继承

保护成员可以被派生类的成员函数访问,但是对于外界是隐藏起来的,外部函数不能访问它。

 

创建派生类对象时,首先执行基类的构造函数,随后再执行派生类的构造函数;当撤销派生类对象时,则先执行派生类的析构函数,随后再执行基类的析构函数。

 

当基类含有带参数的构造函数,派生类必须定义构造函数。

如果派生类的基类也是一个派生类,则每个派生类只需负责其直接基类的构造,依次上溯。

 

虚基类

解决二义性。如果一个派生类是从多个基类派生出来的,而这些基类又有一个共同的基类,则在这个派生类中访问这个共同的基类中的成员时,可能产生二义性。

class base1:virtual public base{}

若同一层次中同时包含虚基类和非虚基类,应先调用虚基类的构造函数,再调用非虚基类的构造函数,最后调用派生类的构造函数。

class X:public Y,virtual public Z{}