c++ - 在 C++ 中将对象添加到对象数组

标签 c++ arrays oop

有一个对象数组,要向其中添加对象,我会尝试以下操作:

Shape ShapeList[30];

void addShape(Shape s)
{
  for(int i=0; i<30;i++)
  {
    if(ShapeList[i] != '\0')
        { i++;}
    else
        {
            ShapeList[i]=s;
            numShapes++;
            break;
        }
   }
}

numShapes 是一个整型变量,Shape 是类,ShapeList 是对象数组。但是编译器以这种方式给出错误,不允许使用 != 运算符。那么我该如何实现呢?

最佳答案

我认为您需要更改“容器”声明:

Shape *ShapeList[30];

void addShape(Shape *s)
{
  for(int i=0; i<30;i++)
  {
    if(ShapeList[i])
        { i++;}
    else
        {
            ShapeList[i]=s;
            numShapes++;
            break;
        }
   }
}

并以这种方式调用 addShape:

addShape(new Shape());

关于c++ - 在 C++ 中将对象添加到对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375125/

相关文章:

c++ - 使用 C++ 实例变量归档/序列化 Objective-C 对象

C++ 垃圾回收和循环引用数据

C++:简单递归搜索函数的运行时错误

C++ 指针与数组表示法

oop - 面向对象设计实践问题

.net - 是否可以创建嵌套命名空间? (可以这么说)

C++ boost json 解析器抑制 "No such node"输出

使用模板的 C++ 树集实现

ruby-on-rails - Postgres 排序与 Ruby on Rails 排序

Java - 对象多次创建自身 - 有任何设计模式吗?