假设我有一个基类
现在我还没有为这两个类编写复制构造函数,当然会调用默认的复制构造函数。Person类的默认复制构造函数将首先调用基类的复制构造函数。
现在的问题是,假设我只为基类编写复制构造函数,那么派生类的默认复制构造函数将调用我编写的复制构造函数。
现在假设我为这两个类都编写了复制构造函数。现在派生类(即Teacher)的复制构造函数将调用基类的默认构造函数,但不会调用复制构造函数,为什么?
难道只有派生类的默认复制构造函数才能自动调用基类的复制构造函数吗?
Person
,并且我从基类Person
公开继承了一个类Teacher
。
现在,在主函数中,我写了以下内容:// name will be passed to the base class constructor and 17
// is for derived class constructor.
Teacher object(“name”,17) ;
Teacher object1=object; //call to copy constructor
现在我还没有为这两个类编写复制构造函数,当然会调用默认的复制构造函数。Person类的默认复制构造函数将首先调用基类的复制构造函数。
现在的问题是,假设我只为基类编写复制构造函数,那么派生类的默认复制构造函数将调用我编写的复制构造函数。
现在假设我为这两个类都编写了复制构造函数。现在派生类(即Teacher)的复制构造函数将调用基类的默认构造函数,但不会调用复制构造函数,为什么?
难道只有派生类的默认复制构造函数才能自动调用基类的复制构造函数吗?