我有一个名为“poly”的课程。 我想动态创建一个指向多边形对象的指针数组。 变量“totalPolynomials”保存多边形对象的数量。

这是我声明数组的代码:

poly **polyPtr;                         
polyPtr = new poly *[totalPolynomials];

我成功创建了多边形对象,但不知道如何将它们的指针一个接一个地存储在数组中......

===============>>#1 票数:4 已采纳

如果您正在创建它们然后想要存储它们,您可以执行类似的操作

poly ** polyPtr;
polyPtr = new poly* [totalPolynomials];

for(int i = 0; i<totalPolynomials; ++i)
{
    polyPtr[i] = new poly(arguments);
}

===============>>#2 票数:1

你实际上并没有在数组中设置指针,所以一个演示,你会写这样的东西:

poly** polyPtr = new poly*[totalPolynomials];
for(int i = 0; i < totalPolynomials; ++i)
    // You may need to pass constructor arguments here.
    polyPtr[i] = new poly();
    // or polyPtr[i] = myOtherPointer; in case you just wanna share it.

存储指针类似,而不是为新指针分配内存。 基本上,您需要用指针替换new。

如果没有警告你应该考虑更高级别的数据和内存管理,而不是在用C ++编程时,为了你的工作效率和心理健康而没有答案。

所以,我建议使用这样的东西:

std::vector<std::shared_ptr<poly>>

要么

std::vector<std::unique_ptr<poly>>

根据您的确切愿望。

  ask by user3554066 translate from so

未解决问题?本站智能推荐:

2回复

在C ++中动态声明一个指向对象的指针数组

我必须声明一个指向C ++中(类的)对象的指针的数组。 我以为这是唯一的方法,但是显然我错了,因为在尝试编译它时会引发语法错误。 具体来说,在收到的7个错误中,有2个错误出现在以下行中:我使用“ new”创建数组的地方,以及我调用“ setData()”函数的行。 你能告诉我我哪里出问题了
2回复

如何创建一个动态数组,该数组可以容纳所有不同的对象,这些对象都源自C ++中的同一基类

我的作业不允许我使用向量类。 我有一个名为Shape的基类,还有其他派生类,如Rectangle和Circle,我必须创建自己的向量类,该向量类具有一个动态数组,可以容纳所有这些不同的形状。 我使用了以下似乎很好用的方法 我的问题来自“ add_shape”函数。 我知道如何使用例
1回复

实现动态创建的类对象数组(C ++)

我的代码是这样的: 现在,我真正想要做的是将值从一个整数数组复制到上述此类的每个对象的v成员中。 喜欢: int arr[5][5]; arr具有整数值。 我想这样复制。 正如我的IDE所述,这肯定是不可能的。 它说:“;声明丢失。” 并指示朝向 *(*(
3回复

在另一个类中创建类对象的数组

我有个问题。 我正在尝试创建一个从基类派生的不同类对象的数组。 这是代码: 现在,我正在尝试从此类创建CD和DVD阵列: 这是ListaProduse类的代码: 现在,我主要创建一个ListaProduse实例。 我先调用ListaProduse.adauga(fi
2回复

在动态分配的指针数组中扩展内存

我试图在添加对象时使数组扩展。 但这是行不通的。 我一直在搜索,但是找不到问题...对于训练有素的眼睛来说,这并不困难,所以我想我可以问你们。 我有两个类,其中Timber类链接到TimberRegister ,但是Timber看不到TimberRegister而TimberRegiste
3回复

如何添加到对象数组指针C ++

我试图将一个对象添加到作为参数传递的对象数组中。 具体来说,我有一个按钮数组,并且正在向按钮数组添加一个后退按钮。 如何正确执行此操作? 当我尝试下面的代码时,从原始指针数组传递的按钮会出现一些奇怪的故障。 任何帮助表示赞赏。
3回复

当成员覆盖内存时指向对象数组的指针

这是交易。 我们有2个不同的Class F和Class O 我们有第三类P,我们在其中初始化值。 在该类中,我们将创建两个对象数组。 现在,我们在其中创建对象的for语句的2。 当我们打印所有对象时,都在这里,但是第一类的前3个被秒的对象替换。 分别是randx和r
2回复

创建对象数组C ++

我正在尝试创建一个由4个对象组成的数组(c ++),并且正在使用这种语法,这显然是错误的,但是那又是什么呢? 谢谢您的帮助! !-更新-! 好的,所以我将代码更改为此,但是现在它说“没有匹配的构造函数来初始化'networkOctet [4]'” ...我有一个构造函数,该构
2回复

分配对象数组动态冻结

这是在您告诉我不要使用数组之前进行的分配。 不幸的是我必须这样做。 我已经为此困扰了很长时间,终于放弃了,来问这里的聪明人。 我知道这与我如何分配数组有关,但是我不知道出了什么问题。 它经过内部循环一次,然后在第二次运行中冻结。 对不起,如果我遗漏任何重要内容。 我将添加任何需要的信
1回复

将一个类对象的指针分配给另一类对象C ++

所以我对C ++编程很陌生,所以如果我要问些琐碎的事情,我会事先道歉。 我的任务是添加,相乘和求值多项式,其中指定多项式的每个项由具有私有变量的节点类表示:双系数,整数幂和节点*下一个。 该链接列表的头(对于每个多项式)将存储在Poly对象的数组中,其中,我的Poly类中唯一的私有变量