我正试图围绕TC ++ PL中对我来说似乎很奇怪的事情。它是关于从抽象类派生的类的分配。
由于我们对抽象类型的表示一无所知,我们必须在免费商店上分配对象,并通过引用和指针访问它们。
为什么免费存储?如您所知,从抽象类派生的类可以像任何其他局部变量一样进行分配。我不知道TC ++ PL究竟在这句话中试图传达什么。
答案 0 :(得分:2)
在我看来,这是一个不正确的陈述。例如,如果您有一个抽象基类B和派生(非抽象)类D,那么您可以编写
D d;
B &b = d;
是D类型的对象是在堆栈中创建的,前提是此代码在某个函数中。
答案 1 :(得分:0)
它们意味着如果你想在不知道具体类型的情况下使用某个抽象类,你必须使用它的动态分配,即你不能写abstract_class A = concrete_class B;