具体请看最后两句,到底是什么意思呢
什么是调用继承的构造函数声明学生对象?派生类不是不继承基类的构造函数吗?
收起
c++11新特性:继承构造函数
继承构造函数可以让派生类直接使用基类的构造函数,如果有一个派生类,我们希望派生类采用和基类一样的构造方式,可以直接使用基类的构造函数,而不是再重新写一遍构造函数。
可以看下面的例子:
class Base
{
Base(int a){ m_a = a; }
Base(int a, int b):Base(a){ m_b = b; }
Base(int a, int b, int c):Base(a,b){ m_c = c; }
int m_a;
int m_b;
int m_c;
};
// 不使用继承构造函数的情况
class Derived1: Base
{
Derived1(int a):Base(a){}
Derived1(int a, int b):Base(a,b){}
Derived1(int a, int b, int c):Base(a,b,c){}
};
// 使用继承构造函数的情况
class Derived2: Base
{
using Base::Base;
};
有用请采纳,谢谢!
报告相同问题?