1
2
3
4
5
6
int main()
{
Derived cDerived(1.3); // use Derived(double) constructor
return 0;
}
这里是什么发生当cderived是instantiated:
一个内存(cderived预留足够的两个基地和衍生部分)。
适当的构造函数是所谓的衍生
底座的第一对象是使用适当的构造函数构造库
initializes变量的初始化列表
构造函数executes Body of
控制返回到来电。
唯一的实际之间的差异和非继承的案例本案例是在衍生的构造函数可以做什么实质性的,是所谓的第一底座的构造函数。集的基础上构造函数对象库的一部分,控制返回到源的构造函数和构造函数允许启动源是完成它的工作。
initializing库类的成员
一个电流源性类是写我们的缺点是没有办法初始化m _体当我们创建一个源对象。如果我们要设置两个值(m _药水的对象从源体(M)和_从基部分的对象),当我们创建一个源对象?
程序员经常试图解决这个新问题为如下:
1
2
3
4
5
6
7
8
9
10
11
class Derived: public Base
{
public:
double m_dValue;
Derived(double dValue=0.0, int nValue=0)
// does not work
: m_dValue(dValue), m_nValue(nValue)
{
}
};