从我的理解下面的代码将在这个顺序执行:使用不同的基础构造派生类C++
- 派生构造函数被调用。
- 基础对象是使用默认的基础构造函数构造的。
- 执行派生构造函数的主体。
如果是这样,是不是成员z分配了两次值?
class base {
public:
int x, y, z;
base() {x = 0; y = 0; z = 0;};
};
class derived : public base {
public:
derived() {z = 5;};
};
有用来创建类“衍生”的对象,因此使用不同的构造,在这种情况下,一个只会分配成员x和雅值,使Z A更有效的方式来分配derived()中的值?
+1:我没想到使用默认参数。 –