给超类的非const成员赋予初始值? (C ++)

时间:2015-04-21 19:11:08

标签: c++ inheritance

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

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

谢谢!

1 个答案:

答案 0 :(得分:8)

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

class SuperClass {
    int index;

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

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

相关问题