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 |
#ifndef SPRITE_HPP #define SPRITE_HPP #include "Framework.hpp" class CSprite { public: CSprite (); ~CSprite (); void Load (const string sFilename); void Load (const string sFilename, int NumFrames, int FrameWidth, int FrameHeight); void SetColorKey (int R, int G, int B); void SetPos (float fXPos, float fYPos); void Render (); void Render (float fFrameNumber); SDL_Rect GetRect () {return m_Rect;} private: SDL_Surface *m_pScreen; // Zeiger auf den Screen des Frameworks SDL_Surface *m_pImage; // Das eigentliche Bild des Sprites SDL_Rect m_Rect; // Rect des Sprites SDL_Rect m_FrameRect; // Ausschnitt für Animationsphase int m_NumFrames; // Anzahl der Animationsphasen int m_FrameWidth; // Breite einer Animationsphase int m_FrameHeight; // Höhe einer Animationsphase int m_NumFramesX; // Wie viele Anim-Phasen in X-Richtung? }; #endif |
Hm, bist du dir denn dann sicher, dass du Zeiger und Referenzen wirklich verstanden hast?! Aber ich gebe zu, der Sinn ist gerade hier häufig erst zu erkennen, wenn man selbst mit ihnen gearbeitet hat.(...) zig Mal gelesen und auch verstanden, aber ich finde es sinnlos an manchen Stellen, einen Zeiger ein zu setzen (...)
Community-Fossil
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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
#include <iostream> #include <string> using namespace std; class CAuto { public: string m_sName; int m_Tires; int m_Seats; int m_Speed; bool m_bHeated_Seats; bool m_bNavigation; bool m_bRadio; bool m_bPhone; int m_Spare_Tires; void Drive(CAuto *pExample) { cout << 0 << " KM/H" << endl; for(int i = 0; i < pExample->m_Speed;i++){ cout << i << " KM/H" << endl;} } void Stop(CAuto *pExample) { cout << pExample->m_Speed << " KM/H" << endl; for(int i = pExample->m_Speed; i!= 0;i--){ cout << i << " KM/H" << endl;} } void ShowDetails(CAuto *pExample) { cout << "Name: " << pExample->m_sName << endl; cout << "Tires: " << pExample->m_Tires << endl; cout << "Seats: " << pExample->m_Seats << endl; cout << "Speed: " << pExample->m_Speed << " KM/H" << endl; if(pExample->m_bHeated_Seats == true) {cout << "Heated Seats: " << "enable" << endl;} else {cout << "Heated Seats: " << "not enable" << endl;} if(pExample->m_bNavigation == true) {cout << "Navigation: " << "enable" << endl;} else {cout << "Navigation: " << "not enable" << endl;} if(pExample->m_bRadio == true) {cout << "Radio: " << "enable" << endl;} else {cout << "Radio: " << "not enable" << endl;} if(pExample->m_bPhone == true) {cout << "Phone: " << "enable" << endl;} else {cout << "Phone: " << "not enable" << endl;} if(pExample->m_Spare_Tires == true) {cout << "Spare Tires: " << "enable" << endl;} else {cout << "Spare Tires: " << "not enable" << endl;} }; }; int main() { CAuto Car; CAuto *pCar = &Car; pCar->m_sName = "Mercedes E220"; pCar->m_Tires = 4; pCar->m_Seats = 4; pCar->m_Speed = 260; pCar->m_bHeated_Seats = true; pCar->m_bNavigation = true; pCar->m_bRadio = true; pCar->m_bPhone = true; pCar->m_Spare_Tires = false; pCar->ShowDetails(pCar); //pCar->Drive(pCar); //pCar->Stop(pCar); system("pause"); }; |
C-/C++-Quelltext |
|
1 |
delete(pCar);
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SaRu« (29.01.2011, 11:33)
C-/C++-Quelltext |
|
1 2 3 |
std::cin.ignore(); return 0; delete(pCar); |
Zitat
Wobei es sich hier anbieten würde, bei der Funktion ShowDetails(), eine konstante Referenz, statt einem Zeiger zu übergeben. Auch wenn beides natürlich funktioniert. Wann Referenz und wann Zeiger, dazu findest du auch einen kleinen zusammenfassenden Abschnitt im Buch auf Seite 174.
Werbeanzeige