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

C++ 将内存分配给派生类的指针,c++,class,inheritance,pointers,C++,Class,Inheritance,Pointers,我有基类“Actor”和派生类“Outlaw” “Outlaw”曾经是它自己的基类,我可以使用以下代码轻松创建指针: Outlaw * outlaw = new Outlaw(); 现在“亡命之徒”继承了基类型“演员” 我该如何编写新代码来生成指向非法类的指针?我对C++很陌生,但是有很多C经验。p> 完全一样 但首先,也许你不需要一个动态分配的实例,也许你只需要一个变量。在这种情况下,仅仅声明变量,因为由于C++中的其他所有东西的速度,动态分配是昂贵的(所有的东西都是相对的,动态分配相对于普

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

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

Outlaw * outlaw = new Outlaw();
现在“亡命之徒”继承了基类型“演员”

我该如何编写新代码来生成指向非法类的指针?我对C++很陌生,但是有很多C经验。p> 完全一样

但首先,也许你不需要一个动态分配的实例,也许你只需要一个变量。在这种情况下,仅仅声明变量,因为由于C++中的其他所有东西的速度,动态分配是昂贵的(所有的东西都是相对的,动态分配相对于普通变量声明来说是昂贵的)。例如:

如果您确实需要动态分配,最好不要将指针原始存储

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

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

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

unclaw*unclaw
中的
unclaw
已经是指向
unclaw
的指针。你想要达到什么?最好马上忘记C经验,从头开始学习C++。他们真的,真的没有那么相似。
std::unique_ptr<Outlaw> outlaw( new Outlaw() );