Neue Klassen

HarryXVI

Erfahrenes Mitglied
Wenn ich meinen c++ Builder 6 öffne, habe ich ja die Deklaration der Klasse TForm1 im Header und die Implementation in der cpp-Datei. Wenn ich nun eine neue Klasse TSpieler in einer externen Unit erschaffen will, was muss ich wo hinschreiben? Einbinden in das Hauptprogramm kann ich ja nur die Header-Datei, also müsste ich doch da sowohl die Deklaration als auch die Implementation reinschreiben. Wie erschaffe ich denn dann das Objekt Spieler vom Typ TSpieler im Hauptprogramm? Mache dies sonst mit Delphi, deshalb frage ich.
 
Hallo,

Wenn du eine neue Unit erstellst, wird automatisch eine .h und cpp Datei angelegt.
Deine Klasse TSpieler (bei mir Unit2) includierst du in die Unit1.h von der ersten Form.

Das ganze sieht dann einfach so aus:

Unit1.h
C++:
...
#include "Unit2.h"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
...

In der cpp Datei (Unit1.cpp) sollte dann deine Klasse TSpieler bekannt sein.
Der cpp Code von TSpieler interessiert nicht was das includieren angeht.

MfG Mario
 
Zuletzt bearbeitet von einem Moderator:
Ich versuch es mal so:

Header sind das Interface. Ein cpp ist die Implementierung des Interfaces.

Aus dem cpp wird ein Object-File erzeugt. Auch aus der Main wird ein Object kompiliert. Diese beiden Objects werden dann zusammen mit der Standard-Bibliothek zu einem Executable gelinkt.

Da im Main die Implementierung nicht bekannt ist, bindet man das Interface (Header) ein um die Prototypen der Implementierung zur Compile-Time bekannt zu machen. Beim Linken werden dann die Sprung-Adressen an die entsprechenden Call-Stellen geschrieben.

Das waren jetzt Grundlagen in C(++).
 
Zurück