Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将数组存储到对象C++;_C++ - Fatal编程技术网

C++ 将数组存储到对象C++;

C++ 将数组存储到对象C++;,c++,C++,我有一个形状类来计算形状在其他属性和函数中的面积,我的Square类继承了它 大体上,我有一个形状指针向量。在用户输入他们的形状和坐标后,我必须将他们的坐标存储到形状对象中,然后将对象存储到向量本身中 我不确定如何将数组存储到对象中,或者是否可能。这是我试过的 //Global variables vector<Shape> *Shape; void CalculateShapeData() { //Variables declaration string shape;

我有一个形状类来计算形状在其他属性和函数中的面积,我的Square类继承了它

大体上,我有一个形状指针向量。在用户输入他们的形状和坐标后,我必须将他们的坐标存储到形状对象中,然后将对象存储到向量本身中

我不确定如何将数组存储到对象中,或者是否可能。这是我试过的

//Global variables
vector<Shape> *Shape;
void CalculateShapeData()
{
  //Variables declaration
  string shape;

  //Store x,y coordinates in array
  int tempx[100],tempy[100];

  cout << "Please enter name of shape : " << endl;
  cin >> shape;
  cout << "Please enter special type: " << endl;

  if (shape == "Rectangle")
  {
  }
  else if (shape == "Square")
  {
    for (int i = 0; i < 4;i ++)
    {
      cout << "Enter x-coordinate of pt " << i << ":" << endl;
      //cin >> tempx[i];
      cout << "Enter y-coordinate of pt " << i << ":" << endl;
      //cin >> tempy[i];

      //Store coordinates into square object
    }
  }
//全局变量
矢量*形状;
void CalculateShapeData()
{
//变量声明
线状;
//在数组中存储x、y坐标
int tempx[100],tempy[100];
轮廓;

cout类当然可以包含数组或任何其他有效类型的成员:

class Square: public Shape
{
private:
   Point vertices_ [4];
};
问题是:这就是你们想要的吗?或者你们想要一个点,加上一个宽度和高度

…你如何将信息输入广场?最好的方法是通过ctor:

Square::Square (const Point& upperLeft, int width, int height);

我看到你发布了一条评论:我不能使用全局数组吗?当然,你可以做任何你想做的事。但是这会让人困惑,因此更难编写、调试和维护。如果你必须使用全局数组,Square可以存储的不是一个点,而是全局数组的索引。但是请不要。没有必要,这是另一个com级别复杂度。

向类中添加坐标向量,而不是使用全局数组?但如果我想使用数组,是否仍然可行?@Isimeys,但重点是什么?形状可以有无限多的点,因此您应该使用可以容纳无限多项的容器。
vector*shape;
是个坏主意,请使用不同的变量的名称我只需要大约100个形状,而容器将容纳这些形状。我只想存储坐标,不需要宽度和高度。只需要一个数组来存储这些。但我不确定如何进行,然后将其存储到向量本身。所以它使用常量点作为坐标,顶点作为点是的:点是x和y,顶点是点的数组。