给 super class 的非常量成员赋初始值? (C++)

Give initial value to non-const member of super class? (C++)

我想知道如何让子类具有已初始化的非常量成员。例如,我可以有一个带有私有整数成员的超类 'index.' 当子类初始化时,我希望 'index' 始终以相同的值 (0) 开头。

因为我希望子类有它自己的构造函数,未来的程序员可能不知道将 'index' 初始化为 0,我怎样才能确保它以所需的值开始?

谢谢!

只需让超类在其默认构造函数中将 index 初始化为零:

class SuperClass {
    int index;

public:
    SuperClass()
    : index(0)
    { }
};

构造期间的任何子类都将首先调用其继承的所有 类 的构造函数 - 因此只要超类正确初始化其内部结构,子类 将全部继承它。