13 继承构造函数
继承构造函数
在某些情况下,子类仅仅是添加了一个特别的方法,但与父类构造函数基本一致。此时如果父类拥有大量构造函数,子类就同样要复制它们,仅仅为了转发构造参数。为此,C++11提出了继承构造函数的概念。
1. 使用继承构造函数
在C++11中对using
进行了拓展,使之拥有将基类的函数引入派生类的功能:
class Base |
因此,可以使用其引入基类的构造函数:
class Base |
2. 继承构造函数的注意点
-
只有程序中使用了继承的构造函数,编译器才会为派生类生成继承构造函数
-
派生类不会继承基类的默认构造函数和复制构造函数
-
继承构造函数不会影响派生类生成默认构造函数
-
派生类中声明签名相同的构造函数会禁止继承相应的构造函数
-
派生类继承多个基类的相同签名的构造函数会报错
-
继承构造函数的基类构造函数不能是私有
发布于