0
点赞
收藏
分享

微信扫一扫

C++11新特性(59)- 继承的构造函数


问题的背景

假设我们有下面的CRect类:

C++11新特性(59)- 继承的构造函数_构造函数

由于今天的内容是讲构造函数的,所以省略CRect类的其他功能。在这个类中存在4个构造函数,可以像下面这样使用它们:

C++11新特性(59)- 继承的构造函数_c++11_02

继承的小麻烦

由于某种原因,我们需要继承这个类得到一个新类,比如说CFillRect,但同时还想以CRect同样的方式构造实例,也就是说希望可以像下面这样使用新类:

C++11新特性(59)- 继承的构造函数_C_03

C++11之前,我们只能在CFillRect中再次定义这四个构造函数,然后分别调用基类的对应函数,代码大致如下:

C++11新特性(59)- 继承的构造函数_构造函数_04

说实话,稍微有点蠢。

继承的构造函数

在C++新标准中,派生类只需要一条声明语句就能实现上述功能:

C++11新特性(59)- 继承的构造函数_C_05

是不是好多了?

 

C++11新特性(59)- 继承的构造函数_C_06

举报

相关推荐

0 条评论