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