Klasse an Klasse übergeben
-
Hey,
kann es sein das sich mein Problem ganz einfach mit
class A{ static i[5]; static bool j[5];}lösen läßt.......
Sind dann für alle Instanzen von A die Werte im Array gleich????Mfg.....
-
Ja.
edit: Soweit jedenfalls die Bedeutung von static. Ob das wirklich ein gutes Design für dein Problem ist, ist eine andere Frage. Häufig deutet static nämlich eher auf nicht so gutes Design hin. Ganz besonders wenn alle Member static sind. Aber ich mag jetzt nicht 2 Seiten Thread durchlesen um deine Problemstellung zu suchen.
-
Dank dir Seppl.....
Hahahhahahaha. manchmal gehts ganz einfach...
lg
-
Ich habe oben noch was reineditiert, was du lesen solltest. Habe zu spät gesehen, dass du bereits geantwortet hast.
-
jetzt hasts editiert in der Zeit wo ich geschrieben hab.....
Wie soll ich es sonst machen????
So wie oben beschrieben????
-
Ishi... schrieb:
jetzt hasts editiert in der Zeit wo ich geschrieben hab.....
Wie soll ich es sonst machen????
So wie oben beschrieben????
Schilder mal dein konkretes Problem (falls möglich), es gibt sicherlich eine elegantere Modellierung.
-
Ok,
als kleine Vorbemerkung benutz ich grad die Qt Klasse.........
also ich habe mir eine Klasse "Bild" gemacht/designed über die ich ein Bild laden kann.
Wenn ich eine Instanz dieser Klasse erzeuge wird das Bild am Bildschirm angezeigt.Ich erstelle mir genau 2 Instanzen dieser Klasse und lasse mir somit 2 Bilder nebeneinander anzeigen.
Die 2 Bilder sind FAST identisch. Sie unterscheiden sich aber in 5 Punkten.
Aufgabe des Spielers ist, mit der Maus auf diese 5 Punkte zu klicken und somit die Fehler zu finden..... Dabei ist egal, auf welchem Bild er den Fehler anklickt.
Wenn man einen Fehler findet und diesen anklickt, wird in der Klasse "Bild" das entsprechende bool Element auf "true" gesetzt was so viel bedeutet als das der Fehler gefunden wurde.Wenn ich aber diese "bool- Elemente" in der "Bild-Klasse" habe, erzeugt er mir für jede Bild-Instanz soche "bool-Elemente" und dann hab ich auf einmal 10 Fehler anstatt bloß 5 weil er unterscheidet auf welchem Bild ich den Fehler gefunden habe.Und genau das will ich nicht...
Ich will das beide Bilder auf genau die gleichen bool Elemente zugreifen
Hoffe das war verstaendlich....
lg
Ishikura
-
Du hast also 2 Bilder und 5 Fehler, welche quasi dein Spielfeld ausmachen. Lösung: Mach eine Klasse Spielfeld. Diese enthält 2 Bilder und 5 Fehler.
-
Jo, hab ich mir auch schon überlegt.....
Aber dann hat das mit der Maus-Position ermitteln nicht mehr hin.....
Das gilt ja dann fürs komplette Spielfeld und ich wills ja NUR für jedes Bild...
Oder ich bin zu blöd das gescheit einzustellen..... Könnte ich nochmal gucken...
Ich probiers so wie du gesagt hast, wenn nicht mit static, und wenn das fehlschlägt meld ich mich nochmal....
merci Ishi131
-
SeppJs Vorschlag und deine Bedenken sind durchaus vereinbar.
Deine Bildklasse hat ja die Punkte und kann feststellen ob einer der Punkte angeklickt wurde. Das kannst du ja so beibehalten.
Was du jetzt beispielsweie anders machen könntest wäre das ganze boolzeugs aus der Bildklasse rauszunehmen und die Spielklasse einfach darüber zu informieren das ein Punkt geklickt wurde und auch welcher. Diese Informatione kannst du dann beispielsweise in einer Liste speichern. Sollte ein Punkt der zurückgegeben wird bereits in der Liste vorhanden sein ist kein neuer Fehler aufgedeckt worden.Wie du das machst ist dann ersteinmal egal. Beispielsweise könntest du ein Ereignis auslösen das die Spieklasse fängt oder du sendest ein QT-Signal deiner Bildklasse das einen Slot der Spielkasse auslöst.
Alternativ kannst du deinen Bildkalssen auch ein Zeiger auf das verwaltende Objekt übergeben.Aber egal, worauf ich hinaus möchte ist, dass du in deinem Bild prüfst ob ein relevanter Punkt geklickt wurde. Ob das nun jedoch ein Fehler ist oder nicht lässt du andere entscheiden.