-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具有完全相同的问题,但我不能看到的错误。 我相信它的东西很小,我错过了。函数声明是不允许在此之前
了解编译器错误发生的位置(例如上面代码中突出显示的行)以及确切的错误会很有用。 – Nim