Grundsatzfrage zu #include

Hallo zusammen

Ich habe eine Klasse zur Berechnung eines bestimmten Integrals geschrieben. Funktioniert auch. Wie mach ich das jetzt, daß ich die Klasse mittels #include „Integral.h“ in andere Programme einbinden kann?

Danke schon im voraus

Tommy

Hallo,

Was willst du denn genau wissen? Eigentlich reicht ganz normales includieren, und dann muss die .cpp Datei noch mit kompiliert werden.

Gruss Ben

Hallo Ben
Also ich hab die Klasse Integral definiert:
(jetzt nicht ganz genau auf Syntax achten)

class integral
float value(float a, b, c);

integral::value
{ Programmcode }

So, das speichere ich jetzt unter integral.h ab.
Und kann das Ganze dann mit

#include „integral.h“

in jedem anderen Programm verwenden.
Haste das gemeint?

Tommy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Man muss unterschieden zwischen Definition und Deklaration. Bei der Deklaration wird dem Compiler lediglich die Klasse mit Variablen bekannt gemacht.
So etwa

class Integral
{
public:
int Funktion(int x);
};

Das speichert man in einer .h Datei ab

Der Code, also die Instruktionen, stehen in der Implemetation bzw. Definition, und damit in der .cpp Datei

int Integral::Funktion(int x)
{
ausfuehrbarer code
return irgendwas
}

Will man die Klasse Integral an anderer Stelle wieder verwenden, dann schreibt man

#include „Integral.h“

Der Compiler ersetzt an dieser Stelle dann lediglich wortgetreu durch den Text in der .h Datei und dann kompiliert er. Das heisst, man kann so oft wie man will deklarieren, aber nur einmal definieren.

Um Mehrfachincludierungen zu vermeiden ist es geschickt,
folgendes zu tun:

#ifndef INTEGRAL_H_
#define INTEGRAL_H_
class Integral
{
public:
int Funktion(int x);
};
#endif

Gruss Moriarty

Hallo,

Und kann das Ganze dann mit

#include „integral.h“

in jedem anderen Programm verwenden.
Haste das gemeint?

Das kommt darauf an. Wenn der Programmcode wie bei dir vollstaendig in der Header (.h) Datei steht reicht das tatsaechlich. Steht aber ein Teil in einer .cpp Datei (was der Normalfall ist), dann muss man beim Kompilieren/Linken darauf achten, das diese Quelldatei mit kompiliert wird. Man kann die .cpp Datei auch als Bibliothek kompilieren, und dann zum Projekt dazu linken, aber das ist etwas aufwendiger.
Im allgemeinen ist es so, dass in der Header Datei die Funktionen deklariert (bekanntgemacht), und die Klassen definiert werden. In der .cpp Datei werden dann die Funktionen und Methoden definiert (implementiert).

Gruss Ben

Hallo

du sollst die klasse in einer Header Datei declariren un ein Source Datei mit selbe name (von h-datei)definieren und dann ganz einfach h-datei in dein programme includieren.
probiere mal und sag mir bescheid.