我有这个布局
class Base {
public:
virtual void Initialize() { // base Implementation }
Base() { Initialize(); }
};
class der_1 : public Base
{
public:
der_1() : Base() {}
virtual void Initialize() { // der_1 Implementation }
};
class der_2 : public Base
{
public:
der_2() : Base() {}
virtual void Initialize() { // der_2 Implementation }
};
现在,每当我创建 der_1 或 der_2 类的新对象时,我最终都会调用 Initialize() 的基本实现。显然,在创建对象时我不能调用虚函数。
到目前为止,我在创建 der_1 或 der_2 类型的对象后调用 Initialize 函数,这对我来说似乎不是正确的做法,因为这会将 Initialize 函数调用与每次创建对象时结合起来。
有人可以建议我更好的选择吗?