2013-10-21 37 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 - >所有函數定義都變成了本地的,這是不允許的。

相關問題