Seas,
erstmal vorraus, ich habe die Suche sehr oft bemüht und in dem Tutorial wo ich diesen Quelltext herhabe wird es auch nicht erläutert.
Ich habe eine Main.cpp und eine Klasse "Box" die ich auslagern soll.
Nun habe ich diese in eine Box.cpp und eine Box.h ausgelagert. Aber beim Compilen des Hauptprogrammes fragt der Compiler nach dem Typ "Box" obwohl meiner Meinung nach alles eingebuden ist:
Main.cpp:
Box.cpp:
Box.h:
Ich nehme an dass ich irgendwie die .h und die .cpp verbinden muss. Aber wie?
MfG
erstmal vorraus, ich habe die Suche sehr oft bemüht und in dem Tutorial wo ich diesen Quelltext herhabe wird es auch nicht erläutert.
Ich habe eine Main.cpp und eine Klasse "Box" die ich auslagern soll.
Nun habe ich diese in eine Box.cpp und eine Box.h ausgelagert. Aber beim Compilen des Hauptprogrammes fragt der Compiler nach dem Typ "Box" obwohl meiner Meinung nach alles eingebuden ist:
Main.cpp:
Code:
// Kapitel 5 - Programm 9 - BOXEN2.CPP
#include <iostream>
#include "BOX.H"
int main()
{
Box Klein, Mittel, Grosz; //Drei Boxen
Klein.Setze(5, 7);
// Die mittlere Box verwendet die Werte,
// die der Konstruktor vorgibt
Grosz.Setze(15, 20);
std::cout << "Der Flaecheninhalt der keinen Box ist " << Klein.HoleFlaeche() << "\n";
std::cout << "Der Flaecheninhalt der mittleren Box ist " << Mittel.HoleFlaeche() << "\n";
std::cout << "Der Flaecheninhalt der grossen Box ist " << Grosz.HoleFlaeche() << "\n";
return 0;
}
// Ergebnis beim Ausführen
//
// Der Flaecheninhalt der keinen Box ist 35
// Der Flaecheninhalt der mittleren Box ist 64
// Der Flaecheninhalt der grossen Box ist 300
Box.cpp:
Code:
// Kapitel 5 - Programm 8 - BOX.CPP
#include "BOX.h"
Box::Box(void) //Implementation des Konstruktors
{
Laenge = 8;
Breite = 8;
}
// Diese Methode setzt die Größe der Box auf die beiden Parameter
void Box::Setze(int NeueLaenge, int NeueBreite)
{
Laenge = NeueLaenge;
Breite = NeueBreite;
}
Box::~Box(void) //Implementation des Destruktors
{
Laenge = 0;
Breite = 0;
}
// Ergebnis beim Ausführen
//
// Diese Implementationsdatei kann nicht ausgeführt werden
Box.h:
Code:
#ifndef BOX_H_INCLUDED
#define BOX_H_INCLUDED
// Kapitel 5 - Programm 7 - BOX.H
class Box
{
int Laenge;
int Breite;
public:
Box(void); //Konstruktor
void Setze(int NeueLaenge, int NeueBreite);
int HoleFlaeche(void) {return (Laenge * Breite);}
~Box(void); //Destruktor
};
#endif
// Ergebnis beim Ausführen
//
// Diese header-Datei kann nicht kompiliert oder ausgeführt werden.
Ich nehme an dass ich irgendwie die .h und die .cpp verbinden muss. Aber wie?
MfG