Thema: [C++] Struct
Einzelnen Beitrag anzeigen
Ungelesen 21.05.14, 14:01   #2
HappyMike34
Erfahrenes Mitglied
 
Registriert seit: Mar 2010
Beiträge: 675
Bedankt: 655
HappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt Punkte
Standard

auf einen Sitz i in der Reihe j kannst du zugreifen mit

Code:
new_seat[j * iSitzanzahl + i]
Die Indizes beginnen dabei bei 0!

Ich würde aus dem Struct eine Klasse machen mit einem Default Konstruktor:

Code:
class seat {
public:
    seat() : ist_belegt(false) {}

    string Name, Vorname;
    bool ist_belegt;
   //  int Sitz[0][0]; // was soll das?
};

public: 
...

private:
vector<seat> seats;
Jetzt kannst du es elegant schreiben:

Code:
<Flight.h>    // Header inkludieren nicht .cpp !

int iReihe = 21;
int iSitzanzahl = 6;

Flight::Flight() 
   : seats(iReihe * iSitzanzahl)  // alle Sitze mit default initialisieren
{
}


Flight::ausgeben()
{
   for(int reihe(0); reihe < iReihe; ++reihe) {
      std::out << std::endl << reihe + 1; 
      for(int sitz(0); sitz < iSitzanzahl; ++sitz) 
          std::out << seats[reihe * iSitzanzahl + sitz].ist_belegt ? " belegt" : "   frei"; // Tip: Strings gleich lang machen
   }
}
fertig.
__________________
my brain has two parts, the right and the left...on the left, there is nothing right...on the right, there is nothing left
HappyMike34 ist offline   Mit Zitat antworten