《随笔七》

您所在的位置:网站首页 class中的构造函数不可省略吗 《随笔七》

《随笔七》

2024-07-09 21:35| 来源: 网络整理| 查看: 265

如果基类中没有构造函数,派生类也可以不定义构造函数(也可以定义),都使用默认的构造函数。 派生类中的新增数据成员可以使用其它公有成员函数来设置初始值。

如果在基类中定义了缺省构造函数(没有参数的构造函数 和 带有默认值参数的构造函数 都称为 缺省构造函数) 或者 根本没有定义任何一个构造函数( 此时, 由编译器自动生成的缺省构造函数)时, 在派生类中的构造函数的定义中可以省略对基类构造函数的调用。  即省略 基类名(参数表)。

如果基类定义了带有形参表的构造函数, 那么派生类就必须定义新的构造函数,提供一个将参数传递给基类构造函数的途径, 保证在基类进行初始化时能够得到必要的数据。 因此, 如果基类中定义了一个或多个参数时, 派生类就必须定义构造函数。

对派生类对象的清理工作也需要加入新的析构函数。

对象成员的情况与基类相同。

对基类成员和子对象成员的初始化必须在派生类的构造函数中的初始化列表中进行, 派生类的数据成员既可以在初始化列表中初始化也可以在该构造函数的函数体初始化。

派生类构造函数必须对 基类成员、(如果有)成员对象、派生类自己的数据成员初始化, 其执行顺序是首先调用基类的构造函数,然后成员对象的构造函数, 最后调用派生类的构造函数体。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3