【发布时间】:2015-08-13 08:45:48
【问题描述】:
考虑一个具有属性的基类
class Base
{
protected:
AttributeBase * elementPtr;
...
};
还有一个派生类
class Derived : public Base
{
...
};
我还有一个类AttributeDerived,它派生自AttributeBase
当我创建 Base 类的对象时,我希望 elementPtr 以这种方式初始化:
elementPtr = new AttributeBase()
但是当我创建 Derived 类的对象时,我希望 elementPtr 以这种方式初始化:
elementPtr = new AttributeDerived()
最干净的方法是什么?
【问题讨论】:
标签: c++ inheritance constructor