C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Klasse in anderer Klasse nutzen

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Toni Fuu
Guest





PostPosted: Tue Dec 14, 2004 12:17 pm    Post subject: Klasse in anderer Klasse nutzen Reply with quote



Hallo,
ich habe da eine Frage.
Wenn ich eine Klasse z.b "Auto" erstelle ist sie ja in auto.h
und auto.cpp definiert und implementiert.
wenn ich diese Klasse nun in einer anderen Klasse z.b. "Werkstatt"
nutzen möchte, wie mache ich das?
Ich kenne #include "auto.h", aber dann fehlt mir ja die Implementierung der
Klasse Auto, oder bin ich da auf dem Holzweg?
Weiss der Compiler das "Auto.cpp" dazu gehört?

Danke und gruß
Toni Fuu

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Oliver Schneidewind
Guest





PostPosted: Tue Dec 14, 2004 5:30 pm    Post subject: Re: Klasse in anderer Klasse nutzen Reply with quote



Toni Fuu wrote:
Quote:
Hallo,
ich habe da eine Frage.
Wenn ich eine Klasse z.b "Auto" erstelle ist sie ja in auto.h
und auto.cpp definiert und implementiert.

Soweit hast du recht !

Quote:
wenn ich diese Klasse nun in einer anderen Klasse z.b. "Werkstatt"
nutzen möchte, wie mache ich das?
Ich kenne #include "auto.h", aber dann fehlt mir ja die Implementierung der
Klasse Auto, oder bin ich da auf dem Holzweg?

Die Implementierung von Auto, intressiert Werkstatt nicht. mit den
#include "auto.h" sagst du in werkstatt.h nur das es irgendwo eine
Objekt gibt was die eingenschaften deiner Klasse auto hat und mit den
dort Vereinbaten methoden was anfangen kann .

Quote:
Weiss der Compiler das "Auto.cpp" dazu gehört?

Nein, erst mal nicht. die Datei Auto.cpp intressiert deine Programm

auch nicht. Es muss nur das Auto.obj ( sog. Objektdatei )und das auto.h
kennnen. Die Auto.obj, kann dein Kompiler aus der Auto.cpp erzeugen. Wie
du dein Kompiler mitteilst das, er die Objektdatei erzeugen soll und in
dein Programm einfügt, hängt aber von dein Compiler ab.

mfg
Oliver Schneidewind

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Martin Herrmann
Guest





PostPosted: Tue Dec 14, 2004 5:52 pm    Post subject: Re: Klasse in anderer Klasse nutzen Reply with quote



Toni Fuu (2004-12-14):
Quote:
wenn ich diese Klasse nun in einer anderen Klasse z.b. "Werkstatt"
nutzen möchte, wie mache ich das?

#include "auto.h" und beim Linken "auto.o" dazunehmen.


Quote:
Ich kenne #include "auto.h", aber dann fehlt mir ja die Implementierung der
Klasse Auto, oder bin ich da auf dem Holzweg?
Weiss der Compiler das "Auto.cpp" dazu gehört?

Der Compiler muss das nicht wissen, der erzeugt nur Aufrufe an die
Funktionen, und wie das geht (also Parametertypen, Rückgabewerte etc),
steht in der Klassendeklaration. Für das Auflösen der Funktionsaufrufe
ist der Linker zuständig (inline und template mal außen vor).

Die Programmerstellung läuft in zwei Schritten ab:
1. Compilieren:
werkstatt.cpp -> werkstatt.o
auto.cpp ->auto.o
2. Linken:
auto.o werkstatt.o -> programm


Gruß,
Martin
--
Mit ungefähr 100 Std/km deutlich abheben. Fahrt aufholen. Steigen bei
ca. 120 Std/km.
- Flughandbuch DR400/180 R

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Rolf Magnus
Guest





PostPosted: Tue Dec 14, 2004 6:39 pm    Post subject: Re: Klasse in anderer Klasse nutzen Reply with quote

Toni Fuu wrote:

Quote:
Hallo,
ich habe da eine Frage.
Wenn ich eine Klasse z.b "Auto" erstelle ist sie ja in auto.h
und auto.cpp definiert und implementiert.

Die Dateien kannst du nennen, wie du möchtest.

Quote:
wenn ich diese Klasse nun in einer anderen Klasse z.b. "Werkstatt"
nutzen möchte, wie mache ich das?
Ich kenne #include "auto.h", aber dann fehlt mir ja die Implementierung
der Klasse Auto, oder bin ich da auf dem Holzweg?

Die Implementierung braucht der Compiler nicht. Um einen Funktionsaufruf
aufzurufen, braucht er nur deren Signatur. Um die Implementation kümmert
sich nachher der Linker.

Quote:
Weiss der Compiler das "Auto.cpp" dazu gehört?

Nein.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.