Klassen/Zeigeraufgabe
Hi, warum reagiert der Konstruktor mit der if Bedingung nicht auf die Eingabe? Egal was ich eingebe er sagt alles ist ok. Hoffe ihr koennt mir helfen.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
#include <iostream>
using namespace std;
class cRaumschiff { private: int m_energie; int m_gescheindigkeit; int m_xpos; int m_ypos; public: void attribute (); void zeigedaten (int xpos, int ypos); void zeigedaten (); cRaumschiff (); cRaumschiff (int xpos, int ypos); ~cRaumschiff ();};
cRaumschiff :: cRaumschiff () { cout << "Der Konstuktor ohne Parameter wurde aufgerufen!\n"; m_energie = 1000; m_gescheindigkeit = 0; m_xpos = 0; m_ypos = 0; cout << "Spieler wurde intitialisiert!\n";};
cRaumschiff :: cRaumschiff (int xpos, int ypos) { cout << "Der Konstruktor mit Parametern wurde aufgerufen!\n"; if (xpos >= 800 && xpos <= 0 && ypos >= 600 && ypos <= 0) { m_xpos = 0; m_ypos = 0; cout << "Die Koordinaten gehen nicht klar! Ich setz dich auf 0!\n"; } else { m_xpos = xpos; m_ypos = ypos; cout << "Alles Gut, weitermachen!\n"; } m_energie = 1000; m_gescheindigkeit = 0; cout << "Dem gewaehlten Spieler wurden Parameter uebergeben, oder auch nicht!\n";};
cRaumschiff :: ~cRaumschiff () { cout << "Raumschiffe wurden zertstoert!\n";};
int main () { cRaumschiff *pSpielerreal = NULL; cRaumschiff *pGegnerreal = NULL; int xpos, ypos; cout << "Koordinaten eingeben, Breite:";cin >> xpos;cout << "Hoehe:";cin >> ypos; pSpielerreal = new cRaumschiff; pGegnerreal = new cRaumschiff (xpos, ypos); delete pSpielerreal; pSpielerreal = NULL; delete pGegnerreal; pGegnerreal = NULL; }
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »pmpedoutpolak« (03.10.2013, 19:45)