c++ - 将派生对象添加到(抽象)基指针数组中

标签 c++ visual-studio-2012

在将派生对象添加到(抽象)基指针数组中时,我遇到了问题。为了简化我想做的事情,这里有一个例子:

Base** baseArray = new Base*[3];
baseArray[0] = new derived1(param,param);
baseArray[1] = new derived2(param,param);
baseArray[2] = new derived3(param,param);

现在,我还没有让我的虚拟 Print() 能够打印出 baseArray 元素,但是使用 vs2012 调试器我只能在 baseArray 中看到 baseArray[0]。另外两个就消失了。

但我想我的主要问题是,上面的例子应该有效吗?如果是的话,那么询问可能发生的事情是否太过分了?如果没有,有没有(更好)的方法?

编辑:谢谢大家!

最佳答案

您的代码是正确的。给定一个动态分配的数组,Visual Studio 调试器将仅显示第一个元素。 This答案可能有帮助。

关于c++ - 将派生对象添加到(抽象)基指针数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575053/

相关文章:

c++ - 替代 C++ Web 服务客户端库

java - 数组如何在 C++ 或 Java 中为 "copied"

c++ - 是否有 C++ 方法允许在不创建临时变量的情况下多次使用函数指针?

c++ - 为什么我不能将 unique_ptr 与函数返回的 unique_ptr 交换?

asp.net-mvc-3 - ASP.NET MVC 3 无法识别 .cshtml View 文件

c++ - Visual Studio 2012 : Compiler setup (possible to use Compiler from SDK eg. VC++2008-编译器 VC++2010-编译器)

c++ - 具有类类型左值操作数的条件表达式

c++ - 全局对象是否保证在所有线程本地存储对象被销毁后被销毁?

.net - 在 VB.NET 异步中使用 TASK 类

c - 首次使用类型时,Visual Studio 是否可能中断?