Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#include <iostream> using namespace std; class CRaumschiff { private: int m_xPos; int m_yPos; int m_Energie; float m_fGeschwindikeit; public: CRaumschiff (); CRaumschiff(int xPos, int yPos); ~CRaumschiff(); }; CRaumschiff::CRaumschiff () { cout<<"Parameterloser Konstruktor wurde aufgerufen"<<endl; m_xPos=0; m_yPos=0; m_Energie=1000; m_fGeschwindikeit=1.0f; cout<<"Schiff wurde erfolgreich erstellt und wurde Inirialisiert"<<endl<<endl; } CRaumschiff::CRaumschiff (int xPos, int yPos) { cout<<"Parameter-Konstruktor wurde aufgerufen"<<endl; if(xPos >= 0 && xPos <= 800 && yPos >= 0 && yPos <= 600) { m_xPos = xPos; m_yPos = yPos; } else { cout << "Fehler, flasche Koordinaten " <<endl; m_xPos = 0; m_yPos = 0; } m_Energie=1000; m_fGeschwindikeit=1.0f; cout<<"Schiff wurde erfolgreich erstellt und wurde Inirialisiert"<<endl<<endl; } CRaumschiff::~CRaumschiff () { cout << "Destruktor wurde aufgerufen " <<endl; } int main() { CRaumschiff *pSpieler = NULL; CRaumschiff *pGegner = NULL; int xEingabe,yEingabe; cin>>xEingabe; cin>>yEingabe; pSpieler = new CRaumschiff[50]; //NR 1. pGegner = new CRaumschiff(100,100); delete[] pSpieler; pSpieler=NULL; //NR 2. delete pGegner; pGegner=NULL; return 0; } |
C-/C++-Quelltext |
|
1 |
//pSpieler = new CRaumschiff[50](100,100);
|
C-/C++-Quelltext |
|
1 |
CRaumschiff *pSpieler = NULL |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
// zusammenhängenden Speicher für 50 Instanzen allokieren void* mem = new char[ sizeof (CRaumschiff) * 50 ]; // die 50 Instanzen erzeugen CRaumschiff* ptr = static_cast<CRaumschiff*>(mem); for (int i=0; i<50; ++i) { // je eine Instanz an vorgegebener Stelle erzeugen new (&ptr[i]) CRaumschiff (100, 100); } |
C-/C++-Quelltext |
|
1 |
delete [] ptr
|
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
#include <vector> // ... std::vector<Raumschiff> spieler; for(size_t n=0; n<50; ++n) { spieler.push_back(Raumschiff(x, y)); } |
C-/C++-Quelltext |
|
1 2 3 4 |
CRaumschiff *pSpieler = new CRaumschiff[50]; // Und wieder löschen delete[] pSpieler; |
C-/C++-Quelltext |
|
1 |
spieler.reserve(50);
|
Zitat
"premature optimizing is the source of all evil"
Werbeanzeige