2012-04-02 11 views
1

OK, also arbeite ich an einer Spiellogik, ich habe ein gutes Stück Forschung gemacht (so viel wie das Internet es zulässt) und habe immer noch kein solides Verständnis von Klasse und Struktur, also geh bitte sanft!mit Operatoren innerhalb der Klasse oder Struktur?

Grundsätzlich möchte ich in der Lage sein, ein Objekt mit den Eigenschaften alle auf einer Linie zu erstellen, dh.

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

und ich möchte einige zusätzliche Sachen wie aswell nachgeholt werden:

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

Bitte stellen Sie eine spezifische Frage, damit wir wissen, wonach Sie suchen. Welche Sprache, Plattform benutzen Sie? – Khan

Antwort

0

Ich weiß nicht, welche Sprache Sie arbeiten mit, aber es sieht ein bisschen wie C++, so ist hier ein Beispiel:

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; 

Sie können Operatoren nicht innerhalb der Definition einer Klasse verwenden, wie Sie in Ihrer Frage vorgeschlagen haben. Operationen auf Variablen müssen innerhalb eines Konstruktors (oder einer anderen Methode) stattfinden.

+0

Das war sehr hilfreich für mich, danke. – user1308858

Verwandte Themen