2012-04-02 3 views
1

ОК, поэтому я работаю над некоторой логикой игры, я провел справедливое исследование (столько, сколько позволит интернет) и до сих пор не имеет четкого понимания класса и структуры, поэтому, пожалуйста, ласково!с использованием операторов внутри класса или структуры?

В принципе, я хочу иметь возможность создать объект со всеми свойствами на одной строке, т.е.

object a{1, 1, 50, 15, 5}; // create object a 

и я хочу некоторые дополнительные вещи, чтобы быть сделаны как хорошо, как:

class object 
{ 
public: 
int x; 
int y; 
int h; 
int w; 
int s; 
int x1; 
int y1; 
int ps; 
int ns; 
int x1 = x + w; 
int y1 = y + h; 
int ps = 0 + s; 
int ns = 0 - s; 
}; 
+0

Пожалуйста, задайте конкретный вопрос, чтобы мы знали, что вы ищете. Кроме того, на каком языке, платформе вы используете? – Khan

ответ

0

Я не знаю, на каком языке вы работаете, но это выглядит как C++, так вот пример:

class Rect 
{ 
    public: 
     int x, y; 
     int w, h; 
     int right, bottom; 

     // This method is called a constructor. 
     // It allows you to perform tasks on 
     // the instantiation of an object. 
     Rect(int x_, int y_, int w_, int h_) 
     { 
      // store geometry 
      this->x = x_; 
      this->y = y_; 
      this->w = w_; 
      this->h = h_; 

      // calculate sides 
      this->right = x_ + w_; 
      this->bottom = y_ + h_; 
     } 
}; 

// You use the constructor in your main() function like so: 
Rect myObject(1, 1, 50, 15); 

// And you can access the members like so: 
myObject.x = 10; 
myObject.right = myObject.x + myObject.w; 

Вы не можете использовать операторов в определении класса, как вы предложили в своем вопросе. Операции над переменными должны выполняться внутри конструктора (или другого метода).

+0

Это было очень полезно для меня, спасибо. – user1308858

Смежные вопросы