| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| NiGGo007 Mini JLI'ler
 
 
 
 Anmeldedatum: 10.01.2005
 Beiträge: 2
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 16:43    Titel: Probleme mit Vererbungen |   |  
				| 
 |  
				| ich habe ein kleines gravity-game geschrieben. dazu habe ich die klasse "CSprite" genommen und zwei klassen "CShot" & "CShip" abgeleitet.. mittels
 #include "Ship.h"
 #include "Shot.h"
 hab ich die beiden klassen im main-programm importiert..
 dies funktioniert jedoch leider nicht; ich erhalte folgende fehlermeldung:
 
 Gravity error C2011: 'CSprite' : 'class' type redefinition
 
 nun, da beide klassen (Ship & Shot) von Sprite erben, wird Sprite 2x mal ans programm angefügt... was kann ich dagegen tun?
 kann mir jemand weiterhelfen??
 
 herzlichen dank & viele grüsse, nicolas
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Hasenfuß Senior JLI'ler
 
  
 Alter: 38
 Anmeldedatum: 20.08.2002
 Beiträge: 291
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 16:52    Titel: |   |  
				| 
 |  
				| Hi, 
 am besten schreibst du am Anfang von jedem Header
 
 
 
 oder
 
 
  	  | CPP: |  	  | #ifndef _HEADERNAME_ #define _HEADERNAME_
 
 /*
 
 class - Definitionen etc...
 
 */
 
 #endif
 
 | 
 
 HTH
 
 P.S.: Das gehört nicht wirklich unter DirectX
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| NiGGo007 Mini JLI'ler
 
 
 
 Anmeldedatum: 10.01.2005
 Beiträge: 2
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 17:10    Titel: |   |  
				| 
 |  
				| hi! 
 danke dir für die schnelle antwort..!
 habs mit
  	  | Code: |  	  | #ifndef _HEADERNAME_ | 
 probiert & hat auf anhieb funktioniert.. juhui!
 hast recht; gehört wirklich nicht in das directx-subforum.. bin noch völliger rookie! entschuldigt, liebe götter!!
   
 übrigens, wie sähe der genaue syntax mit der prama-once-methode aus?
 
  	  | Code: |  	  | #pragma once
 #include "Headerfile"
 
 | 
 ?
 
 nochmals vielen dank!
 
 nicolas
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| GreveN JLI Master
 
  
 Alter: 38
 Anmeldedatum: 08.01.2004
 Beiträge: 901
 Wohnort: Sachsen - Dresden
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 17:17    Titel: |   |  
				| 
 |  
				| #pragma once kommt einfach an den Anfang der Header. Allerdings würde ich dir die Variante mit dem define empfehlen, weil pragma once glaub ich nicht standard konform ist...
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Hasenfuß Senior JLI'ler
 
  
 Alter: 38
 Anmeldedatum: 20.08.2002
 Beiträge: 291
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 17:42    Titel: |   |  
				| 
 |  
				| Mit _HEADERNAME_ meine ich aber auch den Headernamen  also zB. im Header CSprite.h würde das dann so aussehen: 
 
  	  | CPP: |  	  | #ifndef _CSPRITE_ #define _CSPRITE_
 
 /* blablabla */
 
 #endif
 
 | 
 
 Es muss auch nich der Headername sein... sollte halt nur für jeden Header ein anderer Name sein, sonst ist das ganze beim nächsten Header schon definiert und die Klasse wird gar nicht mehr deklariert
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Patrick Dark JLI Master
 
  
 
 Anmeldedatum: 25.10.2004
 Beiträge: 1895
 Wohnort: Düren
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 17:57    Titel: |   |  
				| 
 |  
				|  	  | GreveN hat Folgendes geschrieben: |  	  | Allerdings würde ich dir die Variante mit dem define empfehlen, weil pragma once glaub ich nicht standard konform ist... | 
 
 Der Jung hat aufgepasst
  _________________
 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
 [ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| AFE-GmdG JLI MVP
 
  
  
 Alter: 46
 Anmeldedatum: 19.07.2002
 Beiträge: 1374
 Wohnort: Irgendwo im Universum...
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 19:36    Titel: |   |  
				| 
 |  
				| Das vielleicht nicht, aber fast jeder Compiler weiss, was damit zu machen ist. Ausserdem muss man sich keinen Uniq Identifier ausdenken - #pragma once hat auch seine Vorteile... Und wenn man eh in seiner Welt bleibt, ist das kein Problem - Ich verwende es jedenfalls.
 _________________
 
  	  | CPP: |  	  | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L|| (h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
 %6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
 | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| FH Super JLI'ler
 
 
 Alter: 37
 Anmeldedatum: 16.10.2004
 Beiträge: 438
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2005, 19:54    Titel: |   |  
				| 
 |  
				| Klar kann man es verwenden, aber sich einen Uniq auszudenken ist auch nicht so schwer. Im Notfall nummeriert man es durch (#define one, ...), ich schreib immer "_IncClassOrFileName_". Das ist eigentlich ganz simpel. 
 Wer immer das Ding verschoben hat: Das ins Fragen, etc. zu packen halte ich für etwas fragwürdig. Ich hätte es in die Entwicklung gesteckt. Das ist jedoch meine Meinung, und es steht mir nicht zu, darüber zu entscheiden. Nicht böse nehmen. Denke halt so...
 Gruß
 
 FH
 _________________
 goto work, send your kids to school
 follow fashion, act normal
 walk on the pavement, watch T.V.
 save for your old age, obey the law
 Repeat after me: I am free
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |