Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 24.08.2003, 00:28 Titel: Abgeleitete Klasse an Methode von Base-Klasse übergeben |
|
|
Der Titel sagt eigentlich schon alles, der Compiler schluckt das irgendwie nicht...sieht etwa so aus:
Code: |
//Sprite.h
class CSprite
{
public:
BOOL TestCollision(CObstacle* Obstacle);
}
//Obstacle.h
#include "CSprite.h"
class CObstacle:public CSprite
{
}
|
Wenn ich Obstacle.h in Csprite include, wirft er base class not defined error aus, usw.
Wie kann ich sowas machen?
-chewie |
|
Nach oben |
|
|
nEp Junior JLI'ler
Anmeldedatum: 03.06.2003 Beiträge: 75
Medaillen: Keine
|
Verfasst am: 24.08.2003, 01:47 Titel: |
|
|
Du gehst den falschen Weg. Bei TestCollision nimmst du als Parametertyp ebenfalls CSprite und übergibst dann dein CObstacle-Object. Da dieses ja abgeleitet ist von CSprite, wird es fehlerfrei funktionieren.
Ich wüsste ansonsten aber auch gar nicht wie das was du meinst gehen soll.. |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 24.08.2003, 08:27 Titel: |
|
|
Zitat: | und übergibst dann dein CObstacle-Object |
Auch nicht ganz richtig. Du musst einen Zeiger auf das CObstacle übergeben.
Code: |
BOOL CSprite::TestCollision(CSprite * pSprite)
{
...}
...
CSprite * pNew1 = new CAffe();
CSprite * pNew2 = new CObstacle();
...
// Prüfen, ob der CAffe mit dem CObstacle kollidiert:
if(pNew1->TestCollision(pNew1))
{
// Kollision!
}
|
_________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
nEp Junior JLI'ler
Anmeldedatum: 03.06.2003 Beiträge: 75
Medaillen: Keine
|
Verfasst am: 24.08.2003, 12:32 Titel: |
|
|
ja so meinte ich das eigtl auch |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 24.08.2003, 14:02 Titel: |
|
|
Dann muß ich aber alle Methoden von CObstacle in CSprite als virtual deklarieren, oder? Und wie ist das dann mit den Konstuktoren, welche werden dann aufgerufen? |
|
Nach oben |
|
|
|