我试图在一个std::array(或任何其他容器)中存储从基类派生的许多对象,而无需对象切片。
下面的代码片段所需的输出是:
Hi from child1!
Hi from child2!
Run Code Online (Sandbox Code Playgroud)
和代码:
Hi from child1!
Hi from child2!
Run Code Online (Sandbox Code Playgroud)
我实际从代码中得到的输出是:
This shouldn't print
This shouldn't print
Run Code Online (Sandbox Code Playgroud)
显然派生对象已被切片。有什么办法可以避免这种情况吗?
预先感谢您提供的任何建议。