Aktuell bin ich dabei C++ zu lernen, es gibt nur ein Problem: einfache .h datein werden nicht inkludiert, zumindest gibt der Compiler etliche [Linker Error] Undefined reference- Fehler aus. Hier mal das ziemlich einfache Programm:
1.header-datei:
2.header-datei:
3.header-datei:
Die Hauptdatei:
Alle Datein befinden sich in einem gesonderten Ordner, außerdem habe ich ein Projekt angelegt und die Dateien zum Projekt hinzugefügt. Die jeweiligen #include-Befehle in den .h-Datein wurden von mir zu Testzwecken bereits entfernt und dafür in der Hauptdatei (.cpp) alle drei header-Datein inkludiert, was aber auch nichts brachte.
Der erste Fehler, den der Compiler anzeigt, ist dieser:
[Linker error] undefined reference to `Kreis::Kreis(char*, float)'
Es folgen insgesamt dann weitere 9 Fehler in dergleichen Art und Weise. Das Programm sollte funktionieren, denn es ist aus einem C++ Buch entnommen. Ich weiß nicht mehr weiter, benötige Hilfe....
Danke schonmal, greetz servernet
1.header-datei:
//bsp10051.h
#ifndef _FLAECHE_
#define _FLAECHE_
class Flaeche {
public:
Flaeche(char * n);
~Flaeche();
void getFarbe() const;
private:
char farbe[11];
};
#endif
2.header-datei:
//bsp10052.h
#ifndef _KREIS_
#define _KREIS_
#include "bsp10051.h"
class Kreis : public Flaeche {
public:
Kreis(char *n, float a);
~Kreis();
float berechneFlaeche() const;
private:
float radius;
};
#endif
3.header-datei:
// bsp10053.h
#ifndef _RING_
#define _RING_
#include "bsp10052.h"
class Ring : public Kreis {
public:
Ring(char *n, float aussen, float innen);
~Ring();
float berechneFlaeche() const;
private:
float innenradius;
};
#endif
Die Hauptdatei:
//test5253.cpp
#include <cstdlib>
#include <iostream>
using namespace std;
#include "bsp10052.h"
#include "bsp10053.h"
int main(int argc, char *argv[])
{
// blauer Kreis r=5
Kreis blau_kreis("BLAU",5);
// gelber Ring ra=10, ri=3
Ring gelb_ring("GELB",10,3);
blau_kreis.getFarbe();
cout << "\\n" << blau_kreis.berechneFlaeche();
gelb_ring.getFarbe();
cout << "\\nRingflaeche: "
<< gelb_ring.berechneFlaeche()
<< "\\nFlaeche des Grundkreises: "
<< gelb_ring.Kreis::berechneFlaeche();
system("PAUSE");
return EXIT_SUCCESS;
}
Alle Datein befinden sich in einem gesonderten Ordner, außerdem habe ich ein Projekt angelegt und die Dateien zum Projekt hinzugefügt. Die jeweiligen #include-Befehle in den .h-Datein wurden von mir zu Testzwecken bereits entfernt und dafür in der Hauptdatei (.cpp) alle drei header-Datein inkludiert, was aber auch nichts brachte.
Der erste Fehler, den der Compiler anzeigt, ist dieser:
[Linker error] undefined reference to `Kreis::Kreis(char*, float)'
Es folgen insgesamt dann weitere 9 Fehler in dergleichen Art und Weise. Das Programm sollte funktionieren, denn es ist aus einem C++ Buch entnommen. Ich weiß nicht mehr weiter, benötige Hilfe....
Danke schonmal, greetz servernet