从抽象类派生的类的对象应在免费商店中

Objects of a class derived from an abstract class should be in free store?

本文关键字:免费 对象 抽象类 派生      更新时间:2023-10-16

我试图将我的头缠绕在TC PL中对我来说似乎很奇怪的头。这是关于分配从抽象类派生的类的分配。

由于我们对抽象类型的表示一无所知,我们必须在免费商店上分配对象并通过参考和指针访问它们。

为什么要免费商店?如您已经知道,从抽象类衍生的类可以像其他任何本地变量一样分配。我不知道TC 究竟在这句话中试图传达什么。

我认为这是一个不正确的陈述。例如,如果您有一个抽象的基类B并派生(非抽取)类D,则可以写

D d;
B &b = d;

这是D类型的对象,只要此代码在某些函数中,就可以在堆栈中创建。

他们的意思是,如果您想使用某些抽象类而不知道是什么具体类型,则必须对其使用动态分配,即您不能编写abstract_class A = concrete_class B;