将内存分配给派生类的指针

时间:2012-08-19 02:26:57

标签: c++ class inheritance pointers

我有基类“Actor”和派生类“Outlaw”

“Outlaw”曾经是它自己的基类,我可以使用代码轻松创建一个指针:

Outlaw * outlaw = new Outlaw();

现在“Outlaw”继承了基本类型“Actor”

我如何编写新代码来指向Outlaw类?我是C ++的新手,但有很多C经验。

1 个答案:

答案 0 :(得分:2)

完全一样。

但首先,也许您不需要动态分配的实例,也许您只需要一个变量。在这种情况下,只需声明一个变量,因为由于C ++中其他所有内容的速度,动态分配成本很高(一切都是相对的,相对于普通变量声明,动态分配成本很高)。如,

Outlaw outlaw;  // That's it!

如果确实需要动态分配,最好不要将指针存储起来。

立即将它放入智能指针中,例如std::shared_ptrstd::unique_ptr

std::unique_ptr<Outlaw> outlaw( new Outlaw() );

要使用上述智能指针类,只需包含<memory>