Man ey jetzt mal hier kurz Müll raus räumen:
(1) Nimm '/', '\\' ist nur mehr Schreibaufwand.
(2) Guck dir mal Konstruktor und Destruktor an.
(3) Gib deinen Funktionen Namen, die zu ihrer Aufgabe passen.
(4) Ich glaub nicht, dass du weißt, wass du da machst, wenn du Auswahl auf '1' vergleichst. Ich denke mal, du willst 1 haben.
(5) delete NULL IST definiert.
(6) Preprozessor Ausdrücke brauchen kein Semikolon zum Abschließen!
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#if !defined(MENU_HPP__INCLUDED)
#define MENU_HPP__INCLUDED
#pragma comment
#include "Sprite.hpp"
class Menu
{
public:
Menu();
~Menu();
public:
void render();
private:
CSprite* m_ptrBackground;
};
#endif // MENU_HPP__INCLUDED
|
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include "Menu.hpp"
Menu::Menu()
: m_ptrBackground(new CSprite())
{
m_ptrBackground->Load("Data/Background.bmp");
if (m_ptrBackground == NULL) throw std::runtime_error("could not load background image");
}
Menu::~Menu ()
{
delete m_ptrBackground;
}
void Menu::render()
{
m_ptrBackground->Render();
}
|
So ist es doch ordentlich! (Und du behandelst die Ausnahme, dass das Bild nicht geladen werden kann ...)
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include "Framework.hpp"
#include "Game.hpp"
#include "Menue.hpp"
int main ()
{
// Framework initialisieren
if (g_pFramework->Init (800, 600, 16, true) == false) return 1;
//Menü aufrufen
Menu menu;
menu.render();
// Framework beenden
g_pFramework->Quit ();
g_pFramework->Del ();
}
|