2013-10-21 36 views
-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具有完全相同的问题,但我不能看到的错误。 我相信它的东西很小,我错过了。函数声明是不允许在此之前

+0

了解编译器错误发生的位置(例如上面代码中突出显示的行)以及确切的错误会很有用。 – Nim

回答

1

忘记关闭for周期的括号main - >所有函数定义都变成了本地的,这是不允许的。

相关问题