-1
#include <iostream>
using namespace std;

class ShapeTwoD
{
  public:
    virtual int get_x(int);
    virtual int get_y(int);

    virtual void set_x(int,int);
    virtual void set_y(int,int);

  protected:
};

class Square:public ShapeTwoD
{
  public:
  void set_x(int,int);

  int get_x(int);

  void set_y(int,int);
  int get_y(int);

  private:
    int x_coordinate[3];
    int y_coordinate[3];
};

int main()
{

   Square *s;
   s = new Square;

   int x;
   int y;

   for (int i = 0; i < 4; i++)
   {
       cin >> x;
       cin >> y;

       s->set_x(i,x);
       s->set_y(i,y);

       cout << s->get_x(i);


       ShapeTwoD* shape[100];

       shape[0] = s;

      cout << shape[0]->get_x(1);

}

int ShapeTwoD::get_x(int verticenum)
{
     return this-> x_coordinate[verticenum];
     return 0;
}

int ShapeTwoD::get_y(int verticenum)
{ 
    return 0;
}

void ShapeTwoD::set_x(int verticenum,int value)
{
    this-> x_coordinate[verticenum] = value;
}

void ShapeTwoD::set_y(int verticenum, int value)
{

}

void Square::set_x(int verticenum,int value)
{
    this->x_coordinate[verticenum] = value;
}


int Square::get_x(int verticenum)
{
    return this->x_coordinate[verticenum];
}

void Square::set_y(int verticenum, int value)
{
    this->y_coordinate[verticenum] = value;
}

int Square::get_y(int verticenum)
{
    return this->y_coordinate[verticenum];
}

我不知道为什么会收到此错误,我参考了另一个具有完全相同问题但看不到错误的SO question 。我确信这是我错过的一些小事。

4

1 回答 1

1

您忘记for在 --> 中关闭循环括号,main所有函数定义都变为本地,这是不允许的。

于 2013-10-21T14:09:44.237 回答