默认的复制构造函数和复杂的继承层次结构

时间:2011-12-17 23:06:28

标签: c++ inheritance copy-constructor

如果我们假设我们有这种类的层次结构:A< -B< -C。我有以下问题:

1)如果我在B中实现了一个拷贝构造函数,我是否必须在B的实现中调用A的拷贝构造函数?

2)C的默认复制构造函数是否会调用我在B中实现的复制构造函数?

1 个答案:

答案 0 :(得分:4)

  1. 不是必须的,但这是一个很好的做法。它不会自动调用。您也可以调用其他构造函数(或者没有,在这种情况下调用默认构造函数)并执行您想要的任何操作,尽管调用基本复制构造函数是惯用的。

  2. 是的,它会。