给 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)
{ }
};
构造期间的任何子类都将首先调用其继承的所有 类 的构造函数 - 因此只要超类正确初始化其内部结构,子类 将全部继承它。
我想知道如何让子类具有已初始化的非常量成员。例如,我可以有一个带有私有整数成员的超类 'index.' 当子类初始化时,我希望 'index' 始终以相同的值 (0) 开头。
因为我希望子类有它自己的构造函数,未来的程序员可能不知道将 'index' 初始化为 0,我怎样才能确保它以所需的值开始?
谢谢!
只需让超类在其默认构造函数中将 index
初始化为零:
class SuperClass {
int index;
public:
SuperClass()
: index(0)
{ }
};
构造期间的任何子类都将首先调用其继承的所有 类 的构造函数 - 因此只要超类正确初始化其内部结构,子类 将全部继承它。