Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
26.11.2001, 18:16
Nicemice
Moderator


Also, ich hab ein typisches .h Problem

Zuerst hab ich mir ein Listen Template mit dem Namen 'NM_List' gebastelt.
Die Definitionen der Klasse davon stecken in der Datei 'nm_list.h'.
Die Definitionen der Funktionen der Klasse stecken in der Datei 'nm_list.cpp'.

Nun will ich meine Liste natürlich in anderen Objekten/Dateien verwenden.
z.B. in der Klasse 'CMission' ( Datei 'mission.h/.cpp' ).

Was muß ich wo eintippen ?
Hab schon folgendes probiert:
#include "nm_list.h" in der mission.h Fehler: error LNK2001
#include "nm_list.h" in der mission.cpp Fehler: Syntaxfehler (da Klasse nicht definiert)
#include "nm_list.h" in der mission.h und in der mission.cpp Fehler: error LNK2001

Was nun ?

--

www.d3opencoop.com - A Doom3 Cooperative Mod

zum Seitenanfang zum Seitenende Profil || Suche
001
26.11.2001, 21:45
Sccar



moin

wenn mich nicht alles täuscht solltest du einfach die nm_list.cpp auch noch mitkompilieren. ausserdem auf doppelte einbindungen des headers achten.

wenns net klappt kannste ja mal icqen

viel glück ;)

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
002
28.11.2001, 13:42
Prefect



Also ich hab ja nun noch nicht allzu viel mit Templates gemacht, aber der gesunde Menschenverstand sagt mir, daß alle Funktionen eines Templates, die von den Templateparametern abhängig sind, in der Headerdatei selber stehen müssen.

Ansonsten kann der Compiler ja bei Template-Instanzen die lokal zu einer Objektdatei sind den Templatecode nicht erstellen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
003
29.11.2001, 13:00
static_caster



kennt ihr den template-effekt?

renn mal auf die straße und sag zu kleinen kinder immer wieder "TEMPLATE". da kriegen die angst.

und das template-syndrom: alle sachen in der umgebung werden zu templates - Kinderwagen, Auto, Flugzeug *wah*

also, ich hab so das gefühl, daß außer dem ollen bjarne eh keiner so richtig weiß, was templates sind und wozu man sie braucht. ich hab auch profs erlebt, die nich erklären konnten, was das ist....

(d.h. wer mir das mal so erklären kann, daß ich auch was damit anfangen kann... bitte helft mir:)

--

zum Seitenanfang zum Seitenende Profil || Suche
004
29.11.2001, 14:14
Nicemice
Moderator


Ist eigentlich ganz einfach:
Zuerst hab ich mir eine Liste von CBasePlayer Zeigern gebastelt.
Dann fiel mir auf, das ich ja noch eine Liste von CMission Objekten brauche.

Anstatt nun eine zweite Liste zu programmieren, habe ich ause der ersten Liste ein Template gemacht, wo man nun Objekte beliebigen Typs speichern kann.

--

www.d3opencoop.com - A Doom3 Cooperative Mod

zum Seitenanfang zum Seitenende Profil || Suche
005
29.11.2001, 15:58
static_caster



ne template funktion oder ne template class?

--

zum Seitenanfang zum Seitenende Profil || Suche
006
29.11.2001, 18:16
Nicemice
Moderator


in dem Fall war's ein Template Class mit mehreren Template Funktionen drin.

--

www.d3opencoop.com - A Doom3 Cooperative Mod

zum Seitenanfang zum Seitenende Profil || Suche
007
29.11.2001, 18:58
Mazze



@ static_caster: Template heißt in deutsch Vorlage. Das erklärt doch schon mal einiges!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
008
29.11.2001, 19:35
Kriz



Mazze, Template heißt auf Deutsch Schablone und das trifft den Kern exakt. Eine Template Funktion ist universell und nicht an einen Datentyp gebunden (weder primitiv noch abstrakt). Und das trifft zufälligerweise auch auf Template Klassen zu. Man nehme mal die STL (Standard Template Library) von HP. Die besteht zu 95% nur aus Templates (wie der Name schon sagt).

Und nochmal zu der Aussage von static_caster zu kommen, das Bjarne anscheinend auch keinen Schimmer hat, was Templates sollen. Wenn du deine Profs fragst und sie dir keine Auskunft geben können, würde ich mal schnell den Prof wechseln oder zur Not auch die Fakultät. Templates sind aus der Industrieforderung heraus entstanden, da Zeit Geld ist und eben diese Zeit nicht immer vorhanden ist bei Softwareprojekten. Templates sind ein fester Bestandteil der SWT (Softwaretechnik, engl. software engineering), da sie zusammen mit den Konstruktionsprinzipien der Module und Objekte einen ganz erheblichen Einfluß auf den Zeitrahmen beim Entwickeln von Software haben. Der Sinn ist so klar wie Chlorbrühe: Templates ersparen bei einmaliger Entwicklung den Aufwand für eine Neuentwicklung, können beliebig abgeleitet und überladen werden und sind typunabhängig. Also wenn das dein Prof nicht weiß, dann ist er schon ein wenig seltsam...

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
009
29.11.2001, 20:56
static_caster



na eh, soviel weiß ich ja auch.

nur, gib mir mal ein (*nicht* Leerbuch-) beispiel, das auch nicht zu obskur ist, kein container für irgendwas ist und sich nicht adäquat durch andere techniken darstellen läßt.

und sätze aus büchern herbeten kann ich auch :-) (mach ich auch, kommt gut)

hm, hab ich gesagt, daß der olle bjarne keinen schimmer davon hat?

--

zum Seitenanfang zum Seitenende Profil || Suche
010
30.11.2001, 00:02
Kriz



Nicht direkt =)

Und das sind keine aus den Lehrbüchern hergebete Sätze, das ist die nackte Realität, moi ami. Wie Gevatter Prefect immer zu sagen pflegt: "Das Rad immer wieder neu erfinden???"

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
011
30.11.2001, 17:08
Another1



mon ami btw

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
012
30.11.2001, 17:17
Kriz



/me slaps Another1 with a huge german dictionary German:Chinese

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
013
01.12.2001, 14:34
Prefect



Am coolsten kommt es eh, wenn man Templates in C programmiert :P

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
014
01.12.2001, 22:15
static_caster



er nu wieder...

--

zum Seitenanfang zum Seitenende Profil || Suche
015
02.12.2001, 16:48
TheTinySteini



bla!
(womit auch dieser Thread endlich off-topic wäre...)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche